如何检查所有ajax函数是否在页面中加载完成?

时间:2013-05-22 21:02:06

标签: javascript jquery ajax asynchronous sharepoint-2010

在我的页面中,我使用SharePoint 2010客户端对象模型来调用异步函数(ajax调用)。在页面加载时,我进行了大量的ajax调用来加载数据。但我想知道是否有一种方法可以在完成所有ajax调用后调用函数。 有没有办法做到这一点?感谢

2 个答案:

答案 0 :(得分:4)

如果您使用jQuery发出AJAX调用,请注册ajaxStop处理程序:

$(document).ajaxStop(function() {
    // this will be called when all running AJAX calls have completed
});

答案 1 :(得分:-1)

jquery解决方案,使用$.active查看有多少活动请求。

因此...

var ajaxCheckInterval = setInterval(checkAjaxState, 10);

function checkAjaxState(){
    if($.active == 0){
        clearInterval(ajaxCheckInterval);
        // do work
    }
}

    可能是这样的:

var ajaxCheckInterval = setInterval(checkAjaxState, 10);

function checkAjaxState(){
    if(document.readyState == 'complete'){
        clearInterval(ajaxCheckInterval);
        // do work
    }
}