Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS$HTTP错误状态为-1_Angularjs - Fatal编程技术网

AngularJS$HTTP错误状态为-1

AngularJS$HTTP错误状态为-1,angularjs,Angularjs,我目前在AngularJS中设置了一个错误截获,用于捕获任何失败的HTTP请求,以便在发生错误时通知自己。偶尔(但经常)我会收到一个状态为-1的错误。我不知道这意味着什么,也不知道为什么会发生。。。有人有什么解释吗 appService.factory("$errorInterceptor", ['$q', '$injector', function ($q,$injector) { var errorInterceptor = { responseError: func

我目前在AngularJS中设置了一个错误截获,用于捕获任何失败的HTTP请求,以便在发生错误时通知自己。偶尔(但经常)我会收到一个状态为-1的错误。我不知道这意味着什么,也不知道为什么会发生。。。有人有什么解释吗

appService.factory("$errorInterceptor", ['$q', '$injector', function ($q,$injector) {
    var errorInterceptor = {
        responseError: function (response) {
            var $http = $injector.get('$http');

            if (response.status !== 401 && response.status !== 409) {
                var error = {
                    status: response.status,
                    message: JSON.stringify(response),
                    url: window.location.href,
                };

                $http.post("/api/errors/angular", error);
            }

            return $q.reject(response);
        }
    }

    return errorInterceptor;
}])
我得到的答复是

 {"data":null,"status":-1,"config":{"method":"PUT","transformRequest":[null],"transformResponse":[null],"url":"/api/baskets/changedeliverymethod/10","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
编辑:
我从来没有真正能够自己制作这个。只需从所有类型的设备/浏览器中随机获取它。

这应该只是HTTP响应代码,也许服务器正在执行一个奇怪的响应代码?请求在您的网络流量中是什么样子的?在angular中,-1是一种特殊状态,据我所知,半年前添加的,可能与承诺操纵有关。您在控制台中查看了错误吗?我通常认为这是与CORS相关的问题。@谢谢你的评论。所以我翻遍了angular的源代码,当一个请求有超时参数或被中止时,他们似乎正在设置这个状态。。。没有设置超时,所以这个请求可能会以某种方式被中止?