状态为0的异步请求

时间:2016-02-03 21:07:55

标签: javascript xmlhttprequest

我遇到了异步请求的一些问题。我的网站和api在不同的端口上,Access-Control-Allow-Origin标头在API端正确设置(因为同步请求工作得很好)。

以下代码始终返回' ERR'。我

function load() {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'http://domain:8801/api/', true);
    xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        if (xhr.status != 200) {
            alert( "ERR" + " Status: " + xhr.statusText + " Response: "+xhr.responseText ); //always ERR in browser
        }
        else {
            alert( "SUCCESS" );
        }
    }
    };
    xhr.send();
}

1 个答案:

答案 0 :(得分:0)

为返回的异步

设置侦听器
function reqListener() {
  console.log(this.responseText);
}

function load() {
  var xhr = new XMLHttpRequest();
  xhr.addEventListener("load", reqListener);
  xhr.open('GET', 'http://domain:8801/api/');
  xhr.send();
}

不输入true / false会使其默认为异步

所以这是完全错误的并且“提交”按钮是问题 - 并且异步操作不同 - 同步等待响应,然后提交,而async没有,并且它永远不会在提交操作之前返回