AJAX调用多次激活

时间:2014-11-14 08:13:43

标签: php jquery ajax

我有一个php应用程序将excel文件上传到server.I使用ajax将数据发送到server.But有时ajax调用重复工作。我在按钮单击中调用ajax函数

$(document).on("click", "#btnContinue", function() {
    $.ajax({
        url: "ExcelColDesptn.php",
        data: data,                           
        type: 'post',
        success: function(response) {}
    });

HTML:

<button id="btnContinue" name="btnContinue" class="btn btn-primary ">Continue </button> 

我使用firebug来修复它,它显示enter image description here

我不知道为什么会这样。这里'ExcelColDesptn.php'被调用3次,'SaveExcelToServer.php'被调用4次。有时它只运行一次。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

你拥有的功能,这是另一个功能的绑定吗?这被称为多次?因为这是一个LIVE绑定,这意味着即使内容更新,绑定仍然存在。

所以我期待以下内容:

  • 您使用ajax更新内容
  • #btnContinue位于由Ajax更新的HTML元素中?
  • 您调用该函数以向按钮添加新绑定
  • 该按钮获得额外的点击装订
  • 因此,更新ajax的次数越多,上传执行的次数就越多。由于您绑定点击的方式。

解决方案:

  1. 使其成为正常绑定$("#btnContinue").on("click", fn)
  2. 仅将您的绑定放入文档就绪,而不是多次调用的函数
  3. 在新绑定之前使用$("#btnContinue").off("click")(这是最丑陋的解决方案)

答案 1 :(得分:2)

please use your code like this

$('#btnContinue').Click(function() {
    $.ajax({
        url: "ExcelColDesptn.php",
        data: data,                           
        type: 'post',
        success: function(response) {}
    });
});