如何重新发送失败的xmlHttpRequest

时间:2018-02-28 08:21:55

标签: javascript xmlhttprequest

在我的应用中我正在尝试

  1. 处理失败的xmlHttpRequest
  2. 验证
  3. 重新发送失败的xmlHttpRequest
  4. 我知道如何使用代码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;
             }
      }
    

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

1 个答案:

答案 0 :(得分:1)

而不是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();
}