如何重新发送失败的xmlHttpRequest

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何重新发送失败的xmlHttpRequest相关的知识,希望对你有一定的参考价值。

在我的应用程序中我想

  1. 处理失败的xmlHttpRequest
  2. 认证
  3. 重新发送失败的xmlHttpRequest

我知道如何使用代码401特别针对失败的授权捕获错误:我有这种类型的错误的特殊情况。

在这种情况下,我只想抓住它并重新发送。

 xhr.onloadend = function () {

       switch (xhr.status) {
                     .
                     .
                     .
                case 401:
                 console.log(xhr);
                 console.log("ERROR INVALID TOKEN");
                 xhr.send(); //this gives error about missing attributes
                break;
         }
  }

我尝试在线搜索,但没有结果。

答案

而不是callinfg xhr.send,您应该将请求的所有代码包装在一个函数中,并在请求中出现错误时调用它。如下

function ErrorListener() {
  makeHTTPRequest();
}

function makeHTTPRequest(){
var oReq = new XMLHttpRequest();
oReq.addEventListener("error", ErrorListener);
oReq.open("GET", "http://www.example.org/example.txt");
oReq.send();
}

以上是关于如何重新发送失败的xmlHttpRequest的主要内容,如果未能解决你的问题,请参考以下文章

CORS XMLHttpRequest 使用 POST 将多部分表单数据发送到 Softlayer 对象存储失败

如何使用 XMLHttpRequest 发送 POST 数据

如何刷新 jwt 并重新发送失败的 http 请求?

访问 XMLHttpRequest 已被 CORS 阻止,尝试一切仍然失败

XMLHttpRequest.send()发送Blob二进制数据,serverlet中如何接收?

qq邮箱为啥邮件发送失败重新发送验证码