2009-07-28 99 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"); 
    } 
}); 
相關問題