制作许多ajax请求而不是一个请求

时间:2013-06-15 09:38:35

标签: jquery ajax firebug

我编写了一个代码,用于从数据库中删除表格中的文章。转换工作正常但是当我看到来自firebug NET选项卡的请求时,它显示了11个请求而不是一个。我的代码有什么问题吗?我已将我的firebug NET选项卡结果附加到此处

   //delete form start...........
            $("#pard_admin").on("click", ".deleteArticle", function (event) {

                event.preventDefault();
                var data = $(this).closest('tr').find('td:first').html();



                $.ajax({

                    url: "../pard_site/view/delete.php",
                    type: "POST",
                    data: "deleteId=" + data,

                    success: function (response) {
                        $("#pard_admin").load('../pard_site/view/articles.php');

                    }
                });




            });
            //delete form end...........

enter image description here

1 个答案:

答案 0 :(得分:0)

你应该看到两个请求:

  • 一个$.ajax()
  • 一个load()

多个请求的最可能原因是委派的单击处理程序多次附加。它需要连接一次,而不是每行一次。

您可以将两个请求减少为一个,如下所示:

var $pard_admin = $("#pard_admin").on("click", ".deleteArticle", function(event) {
    event.preventDefault();
    var $row = $(this).closest('tr');
    $.ajax({
        url: "../pard_site/view/delete.php",
        type: "POST",
        data: { "deleteId": $row.find('td:first').text() },
        success: function() {
            $row.remove();//or similar, depending on exactly what should disappear from the interface on successful delete.
        }
    });
});