我遇到了异步请求的一些问题。我的网站和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();
}
答案 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没有,并且它永远不会在提交操作之前返回