【问题标题】:How to run multiple ajax calls on one page如何在一页上运行多个ajax调用
【发布时间】:2011-04-06 11:32:58
【问题描述】:

如果我正在制作一个“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 语句。

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      当然,您现在正在做的是一种更好的方法。 只需一个文件即可控制所有操作。 我通常在命令上使用 switch 语句来保持一切都干净整洁。

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

      【讨论】:

      • 你能给我解释一下吗?什么是 $_GET[command],什么是插入和删除案例你能举个例子吗?
      【解决方案3】:

      是的,这样更好。大量文件没有问题,但是您应该努力将相关功能保持在一起——高内聚。

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

      【讨论】:

        猜你喜欢
        • 2015-01-29
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        相关资源
        最近更新 更多