2009-07-28 102 views
2

我的一个页面有大约5个jQuery AJAX调用,只要页面加载就会触发。我知道我可以单独跟踪每个AJAX调用并知道它何时完成,但有什么方法可以将它们作为一个整体进行跟踪?这样,我会知道最后一次AJAX调用何时完成,并且可以发出UI更改的信号。如何知道最后一次AJAX调用在jQuery中完成?

我想我可以保持“有效”呼叫数量的运行计数,并在每次呼叫完成时检查该号码,但有没有更好的雄辩解决方案?

回答

15

看看全球ajaxStartajaxStop事件。

下面是我用他们:

$('body') 
    // Set up loading animation for requests. 
    .ajaxStart(function() { 
     $(this).addClass('loading'); 
    }) 
    .ajaxStop(function() { 
     $(this).removeClass('loading'); 
    }); 
+0

适合我的作品。 – 2015-07-21 09:37:29

0

ajax对象有一个特定的方法:complete()当请求结束时(执行成功和错误回调后)触发。

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: "name=John&location=Boston", 
    complete: function(){ 
     alert("action finished"); 
    } 
}); 
相关问题