【发布时间】: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;
})();
【问题讨论】:
-
你有没有想过使用 github.com/jonbern/fetch-retry 这样的包?文档还解释了如何使用指数退避来做到这一点。
-
This answer 可能会帮助你
标签: javascript jquery ajax post request