如何区分XmlHttpRequest Access-Control-Allow-Origin错误与简单的网络错误

时间:2015-09-19 16:50:26

标签: javascript ajax

发送ajax请求时,可能会收到错误,这意味着无法与目标建立通信(即没有返回状态代码)

我们可以像这样抓住这些错误:

var oXhr = new XMLHttpRequest;
oXhr.addEventListener("error",function (e) {
    //error code
});

但这些错误至少有两种不同的类型:

  • 您刚刚断开连接并遇到网络错误
  • 目标不允许来自其他来源(Access-Control-Allow-Origin
  • 的ajax请求

虽然我在Chrome控制台中收到红色消息,但我无法以编程方式获取实际消息。

我试过了:

  • xhr.responseText
  • 解析事件本身

我想避免ping我自己的服务器以丢弃网络错误......

1 个答案:

答案 0 :(得分:0)

您可以查看status实例的媒体资源XMLHttpRequest。如果它等于XMLHttpRequest.UNSENT0,则会出现某种与网络错误不同的错误,可能违反了同源策略。