【发布时间】:2016-02-04 06:14:53
【问题描述】:
我对异步请求有一些问题。我的网站和 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();
}
【问题讨论】:
-
所以...您的服务总是返回错误?我不知道您希望我们能够使用此代码提供什么帮助。这是一个后端问题
-
那么
xhr.statuscontain 到底是什么? developer.mozilla.org/en-US/docs/Web/HTTP/Response_codes -
不要转储出已修复的错误消息。那完全没用。
alert(xhr.statusText)会告诉你问题出在哪里。或者至少吐出xhr.status本身,这样你至少可以看到http代码。 -
状态 0 通常表示网络或安全错误。控制台应该会给你一个更完整的错误信息。
-
@Codeman 但同步请求一切正常,所以它不是后端问题