如何在一个页面上运行多个ajax调用

时间:2011-04-05 22:29:55

标签: php jquery ajax

如果我正在创建一个'ajaxified'用户界面,其中包含许多用于创建,重命名,删除页面上各种内容的ajax调用 - 处理ajax页面背后的所有“代码”的最佳方法是什么?起初我为每个调用都有一个不同的.php文件(即Candy_Rename.php,Candy_Delete.php)。但是我发现我的代码库变得压倒了创建的文件数量。

现在我正在向我的请求发送一个“命令”参数,然后我在一个文件“ajax_Candy.php”中管理与Candy相关的所有事情。例如,我的jQuery请求将是:

$.get('ajax_Candy.asp', { command: 'insert', candyName: 'Jolly Ranchers' }, function (response) {
    alert(response.candyId);
}

这是一个很好的方法吗?

编辑:所有的答案都很棒并且说的几乎完全一样。我不得不选择一个,我认为提及安全对于沿着这条路走下去的其他人来说非常重要 - 所以你去了。我正在使用switch语句作为一个用户提到。

3 个答案:

答案 0 :(得分:2)

当然,你现在正在做的是一个更好的方法。 只需要一个控制所有操作的文件。 我通常在命令中使用switch语句来保持一切美观和干净。

switch($_GET[command) 
{ 
  case 'insert' : do insert stuff; break;
  case 'delete' : do delete stuff; break;
}

答案 1 :(得分:2)

假设您正在处理服务器端的安全问题,我认为您的方法没有问题。 PHP文件必须确保请求者具有执行命令的权限。您不希望用户删除所有记录......

答案 2 :(得分:0)

是的,那更好。许多文件没有任何问题,但是你应该努力将相关的功能保持在一起 - 高凝聚力。

但是不要过分让一个php文件处理不仅仅是Candy。如果您开始在php文件中找到代码重复,请启动子类化。