【问题标题】:Capturing Ajax calls and repeat if failed捕获 Ajax 调用并在失败时重复
【发布时间】:2020-01-31 17:10:40
【问题描述】:

我是 Javascript 新手,正在尝试编写一个用户脚本来跟踪在特定网站内进行的所有 Ajax 调用,如果响应状态代码不是 200,我想自动重复该请求。 此外,我想重复的这些请求都是 POST 请求,这可能会使它变得更加困难。

到目前为止,我正在跟踪所有 Ajax 调用,但由于似乎无法捕获从 POST 请求发送的表单数据,我不知道如何重复失败的调用。


(function() { // Overriding XMLHttpRequest
    var oldXHR = window.XMLHttpRequest;

    function newXHR() {
        var realXHR = new oldXHR();

        realXHR.addEventListener("readystatechange", function() {
            console.log("an ajax request was made")
            console.log(realXHR.status)
            //If the status is not 200, repeat the request with same data etc
        }, false);

        return realXHR;
    }

    window.XMLHttpRequest = newXHR;
})();

【问题讨论】:

标签: javascript jquery ajax post request


【解决方案1】:

你可以通过再次调用相同的函数来尝试

if(realXHR.status !==200){
 newXHR();
}

【讨论】:

  • 根据 chrome 控制台,这不会重复 XMLHttpRequest。
猜你喜欢
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2014-05-14
  • 2020-01-25
  • 1970-01-01
相关资源
最近更新 更多