2011-06-16 94 views
2

可以說我有一個名爲functions.php文件,它內部有兩個單獨的函數:如何通過Ajax調用PHP腳本中的特定函數?

一會獲取時間

而且對方會獲得日期

我將如何使用JQuery AJAX從檢索日期的函數中檢索數據。如何在JQuery代碼中指定服務器上要選擇的功能。

我希望我有道理。謝謝。

回答

1

您可以將參數添加到URL:

例如:

function.php?g=1 

現在,在服務器端檢查的get參數:

if($_GET['g']==1) 
{ 
    echo date(); 
} 
else 
{ 
    echo time(); 
} 
4

你不指定jQuery在PHP中執行什麼功能。你要做的是請求一個文檔,可能帶有一個查詢字符串,然後讀取結果。你的functions.php腳本負責執行任何請求。

所以,你可能會從另一個地方的jQuery請求functions.php?fn=timefunctions.php?fn=date。然後,在functions.php中,您將檢查查詢字符串並針對所請求的內容執行適當的函數,並將結果返回給jQuery。

8

您可以在ajax請求數據中包含選擇器。例如:

$.ajax({ 
    url: "functions.php", 
    data: "function=time", // or function=date if you want date 
    ... 
}); 

然後在您的PHP代碼中,一個簡單的if語句將檢查輸出哪一個。

if(isset($_GET['function'])) { 
    if($_GET['function'] == 'time') { 
     // do time stuff 
    } elseif($_GET['function'] == 'date') { 
     // do date stuff 
    } 
} 
4
$(document).ready(function() 
{ 
    $(".link").click(function() 
    { 
     var data['func'] = "time"; 
     var url = functions.php 
     $.get(url, data, function(result) 
     { 
      $("#feedback").html(result); 
     }); 
    }); 
}); 

那麼你的PHP文件會,

if(isset($_GET['func'])) 
{ 
    if($_GET['func'] == "time") 
    { 
     showTime(); 
    } 
    else 
    { 
     showDate(); 
    } 
} 

function showTime() 
{ 
    //show time 
} 

function showDate() 
{ 
    //show date 
} 

代碼是未經測試,但應該是你一個很好的起點。

+1

這幾乎是我說的,但帶有示例代碼(這是值得一千字)。 +1。 – Sorpigal 2011-06-16 13:17:57

1

你正在得到什麼迴應。您收到XML或其他格式的回覆。如果您的回覆是XML請嘗試使用此選項。

$.ajax({ 
     url:path,   
      data:{projectId:inpprojectId}, 
      dataType:"xml", 
      success:function(data){ 
       $(data).find("CheckAmount").each(function(){ 
        total = $(this).find("TotalAmount").text(); 
        usdAmt = $(this).find("PettyCashAmount").text();  
       validateBudget(total,inp);     
       }); 
      }  
    }); 
相關問題