为什么AngularJS错误消息在错误处理时为空?

时间:2015-05-25 04:10:44

标签: javascript angularjs error-handling promise

我正在使用AngularJS代码向服务器发出请求。成功时它工作正常,但是当我将请求重定向到其他有意引发CORS问题的域时,会调用错误处理函数,但errorData为空。在我调试的Chrome中,我可以看到错误功能被点击,我也收到了消息" No' Access-Control-Allow-Origin'标头出现在请求的资源上。"在控制台但我无法从代码中访问它。如何记录此错误?

RemoteService.doRequestPromise().then(
function(resp) {
    LEService.logIt(resp);
    if (status != 200) {
        LEService.error(resp);
    }
},
function(errorData) {
    LEService.error({ 'err': errorData });
}).finally(function() {
    usSpinnerService.stop('spin1');
});

1 个答案:

答案 0 :(得分:2)

这是角度为你提供failed CORS request

{
  "data": null,
  "status": 0,
  "config": {
    "method": "GET",
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "url": "https://some.site/thing",
    "headers": {
      "Accept": "application/json, text/plain, */*"
    }
  },
  "statusText": ""
}

没有关于CORS的信息,但您的状态为0且空statusText。可能没有很多其他情况下你会收到0的状态,但如果你绝对需要确定这是一个CORS错误,那么值得进行更多的研究。