检查待处理的AJAX请求或HTTP GET/POST请求

18 投票
8 回答
30186 浏览
提问于 2025-04-16 01:23

我该怎么检查页面是否还有未完成的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();
    }
}

撰写回答