2012-05-24 48 views
-1

如果我有我的網頁,ajax1和ajax2兩個(或更多)的Ajax調用,讓我的一個總的目標URL ajax.php有條件地返回一個字符串,或做我打電話給目標php頁面,ajax1.php和ajax2.php?一個目標頁面爲每個

回答

1

你可以只使用一個主PHP腳本來處理所有的AJAX調用,只需添加一個額外的參數,以您的請求指定您所需要的響應。

$.post('/ajaxResponser.php',{'method':'getData','user_id':'123'},function(response){ 
    // handle response 
},"json"); 

然後在你的ajaxResponser.php你會決定根據所傳遞的method參數來調用什麼方法 -

$method = $_REQUEST['method']; 
$user_id = $_REQUEST['user_id']; 
switch($method){ 
    case 'getData': 
    echo json_encode(array('data'=>getData($user_id))); 
    break; 
    default: 
    echo json_encode(array('err'=>'unknown method')); 
    break; 
} 
+1

什麼是最好的做法?一個目標網頁還是很多? – mmzc

+1

這一切都取決於你的邏輯和你正在使用的實際方法。如果你有很多很多方法可以調用,你可能會考慮把它們分成多個文件。一個用於用戶的操作,一個消息,一個用於在線用戶....只是一些例子......一個最好的做法是,以確保如果你有多個目標頁面 - 他們的名字將是有意義的;方法名稱也是如此。這一切都取決於你在做什麼...確保下一個看到你的代碼的程序員可以很容易地理解每個方法的位置以及在哪個文件中...... – Lix

2

只是讓一個PHP頁面,在你所有的Ajax功能,使一個標誌變量數據串像「& ajax1 =」 +「1」和PHP頁面的使用,如果條件一樣

if($_REQUEST['ajax1']){ 
your code 
    } 
if($_REQUEST['ajax2']){ 
your code 
    } 
相關問題