Javascript AngularJS 1:$http总是在请求失败时返回状态代码-1

Javascript AngularJS 1:$http总是在请求失败时返回状态代码-1,javascript,angularjs,angular-http,Javascript,Angularjs,Angular Http,我想截获500个或更高的错误 我的灵感来自: 以及其他类似的问题 这是ServiceErrorInterceptor app.factory('ServerErrorInterceptor', [ '$q', function ($q) { return { 'requestError': function(rejection) { console.log( rejection ); return $q.reject(reject

我想截获500个或更高的错误

我的灵感来自:

  • 以及其他类似的问题
这是
ServiceErrorInterceptor

app.factory('ServerErrorInterceptor',
[ '$q',
  function ($q) {
    return {
      'requestError': function(rejection) {
        console.log( rejection );
         return $q.reject(rejection);
      },
        responseError: function (rejection) {
            console.log( rejection );
           return $q.reject(rejection);
        }
      };
    }
  ]);
它总是回来

Object { data: null, status: -1, headers: headersGetter/<(), config: Object, statusText: "", xhrStatus: "error" }

对象{data:null,status:-1,headers:headersGetter/
-1
通常意味着发生了一些问题,比如CORS或超时。您可以将问题复制为plunk或其他什么吗?尝试拦截响应……这有助于我们获取错误的HTTP代码,您需要在回调方法中使用if开关感谢@estus我最终选择了通过仅设置标题的本地PHP页面隔离服务器部件。是设置
标题('Access-Control-Allow-Origin:')
允许Angular读取状态。当您无法控制真正的服务器时,这并不有趣。@jabo87我确实检查了
响应
请求
,但这与此处无关。当您进行多域设置时,您应该为此做好准备。如果您无法控制API服务器头,您必须求助于CORS代理。不是特定于Angular,而是整个客户端JS。