来自浏览器或XmlHttpRequest的“No'Access'Control-Allow-Origin'标头”错误消息是什么?

时间:2014-12-17 13:27:40

标签: javascript xmlhttprequest

使用以下代码执行(故意失败)跨域请求时:

var request = new XMLHttpRequest();
request.open("GET", 'http://code.jquery.com/jquery-2.1.1.min.js');
request.onerror = function(error) {
    alert(error.target.status)
};
request.send()

我将在开发者控制台中收到以下预期的错误消息:

XMLHttpRequest cannot load http://code.jquery.com/jquery-2.1.1.min.js No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

但是来自XmlHttpRequest或浏览器的错误消息是什么?

我想从XmlHttpRequest获取该错误消息,但我看不到。

使用上面的代码,我希望(如https://stackoverflow.com/a/16931075/343475中所示)在警告框中看到错误消息,但我得到的只是0

1 个答案:

答案 0 :(得分:1)

  

但是这是来自XmlHttpRequest还是来自浏览器的错误消息?

XMLHttpRequest是浏览器的一部分。所以“是”。

如果您的意思是“是来自服务器还是来自浏览器的错误”,那么它来自浏览器。服务器无法知道您是否发出了跨域请求。

  

使用上面的代码,我希望(如https://stackoverflow.com/a/16931075/343475中所示)在警告框中看到错误消息,但我得到的只是0。

状态代码将提供有关外源的资源的信息(它会告诉您资源是否存在以及浏览器的用户是否有权访问它),因此它被同源策略抑制。