javascript - 捕获 Ajax 调用并在失败时重复
问题描述
我是 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;
})();
解决方案
您可以通过再次调用相同的函数来尝试
if(realXHR.status !==200){
newXHR();
}
推荐阅读
- python - 如何通过openpyxl从Excel文件中消除重复项
- php - guzzle http unable to upload file to box
- amazon-web-services - 使用 cloudformation 标记现有 ebs 卷
- c# - 拒绝访问路径“C:\Users\amministratore\Documents\pippo.xml”
- r - 如何在 R 上安装 plotrix 包?
- hyperledger-fabric - Hyperledger Fabric 在单个节点上使用 CouchDb 很脆弱?
- powerbi - Power BI - sumifs
- jasper-reports - 如何在 Jasper Reports 生成的 RTF 中将元素一起移动?
- ruby-on-rails - 设计禁止登录参数的消毒剂
- sql - 如何在postgres中将两列与冒号“:”结合起来