检查待处理的AJAX请求或HTTP GET/POST请求
我该怎么检查页面是否还有未完成的AJAX请求或者HTTP的GET/POST请求呢?我想用JavaScript和/或Python来做这个检查。
我想要做的是在页面所有请求都完成后执行一个脚本。onload对我来说不太管用,如果你用过Firebug的网络面板,你就会明白。onload是在页面加载完成时触发的,但有可能还有一些请求在后台等待处理。
提前谢谢你们。
8 个回答
4
我看到你提到你在使用Prototype.js。你可以通过查看 Ajax.activeRequestCount
的值来跟踪当前正在进行的请求。你可以使用 setTimeout 或 setInterval 来检查这个值,以确保在页面加载时触发的请求已经完成(如果这正是你想要做的事情)。
9
这里是检查的最佳方法。
var loadingDone = document.readyState=="complete" && jQuery.active === 0;
所以,当Ajax请求完成后,loadingDone会变成true。如果它是false,那你就可以添加一个等待的状态。
15
我搞明白了。谢谢大家的努力。其实就是简单的JavaScript。
interValRef = 0;
interValRef = setInterval("checkState();",100)
function checkState(){
if(document.readyState == 'complete'){
clearInterval(interValRef);
myFunc();
}
}