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

kla*_*uit 13 html javascript python

如何检查页面是否有待处理的AJAX或HTTP GET/POST请求?我使用javascript和/或python进行此检查.

我想要做的是在页面完成所有请求时执行脚本.onload对我不起作用,如果你使用了firebugs网盘,你会知道的.加载页面时onload会触发,但有可能仍有待处理的请求挂在某处.

先感谢您.

kla*_*uit 9

弄清楚了.谢谢你的努力.只是简单明了的javascript.

interValRef = 0;

interValRef = setInterval("checkState();",100)

function checkState(){
    if(document.readyState == 'complete'){
        clearInterval(interValRef);
        myFunc();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我很确定在 readyState 变为“完成”后仍然可能有待处理的 HTTP 请求。`load` 事件对应于那个 readyState,它只是意味着初始请求已经加载了它的所有依赖项(而不是没有更多的未决请求)。您可以在 yahoo.com 等页面上的 Chrome 网络选项卡中看到这一点。红线是 `load` 事件,但在此之后通常还有待处理的事情。 (2认同)

use*_*556 9

这是检查它的最佳方法。

var loadingDone =  document.readyState=="complete" && jQuery.active === 0;
Run Code Online (Sandbox Code Playgroud)

因此,如果 Ajax 调用完成,loadingDone 将为 true。如果为 false 那么您可以添加等待。