一个目标页面用于所有 ajax 调用,或者每个目标页面对应一个目标页面


One target page for all ajax calls or one for each

如果我的页面上有两个(或更多)ajax调用,ajax1和ajax2,我是创建一个通用的目标网址ajax.php有条件地返回一个字符串,还是每次调用创建一个目标php页面,ajax1.php和ajax2.php?

只需创建一个PHP页面,并在所有ajax函数中在数据字符串中创建一个标志变量,例如"&ajax1="+"1",并且在php页面上使用条件,例如

if($_REQUEST['ajax1']){
 your code
  }
 if($_REQUEST['ajax2']){
 your code
  }

您可以只使用一个主 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;
}