如何为多个ajax请求设置“成功”功能?

时间:2011-01-22 16:06:02

标签: jquery ajax

如何为所有已完成的请求设置ajax success

$.ajax({
  success: function(){ clicked = false;}
});

$('.button').click(function(){
   $.post('file.php',{},function(){});
   $.post('file.php',{},function(){});
   $.post('file.php',{},function(){});
});

2 个答案:

答案 0 :(得分:2)

您的意思是在所有请求完成后执行单个方法吗?

var counter = 0;
var nRequests = 3;

function multiSuccess() {
    // do something    
}

$('.button').click(function(){
   $.post('file.php',{},function(){
       counter++;
       if(counter == nRequests) {
           multiSuccess();
       }
   });
   $.post(...
   $.post(...
});

另外,您可能需要查看ajaxStop

  

每当Ajax请求完成时,   jQuery检查是否有   其他出色的Ajax请求。如果   没有留下,jQuery触发了   ajaxStop事件。任何和所有处理程序   已经注册的   .ajaxStop()方法执行于   这一次。

答案 1 :(得分:0)

您可以使用ajaxSetup()指定ajax调用的默认参数:

$.ajaxSetup({
  success: function(){ clicked = false; }
});