Angularjs 所有$http请求都返回-1

Angularjs 所有$http请求都返回-1,angularjs,ionic-framework,ngcordova,Angularjs,Ionic Framework,Ngcordova,我正在使用ionic开发一个应用程序。就在今天,我所有的$http请求都因为返回-1状态码而失败。当我使用ionic-serve、ionic-run-browser和ionic-emulate-ios运行时,就会发生这种情况 这些$http请求也不一定是远程的。无法加载www/template中的HTML文件。任何调试方面的帮助都将不胜感激 更多详情: 当运行ionic-serve时,它加载index.html很好,这会加载我的app.js。然后设置HTTP拦截器并使用$stateProvide

我正在使用ionic开发一个应用程序。就在今天,我所有的
$http
请求都因为返回-1状态码而失败。当我使用
ionic-serve
ionic-run-browser
ionic-emulate-ios
运行时,就会发生这种情况

这些
$http
请求也不一定是远程的。无法加载
www/template
中的HTML文件。任何调试方面的帮助都将不胜感激

更多详情: 当运行
ionic-serve
时,它加载
index.html
很好,这会加载我的
app.js
。然后设置HTTP拦截器并使用
$stateProvider
加载状态:

angular.module('starter', ['ionic', 'ngCordova', 'ionic.service.core', 'starter.controllers', 'setup.controllers', 'settings.controllers', 'history.controllers', 'graph.controller'])
...
    .config(function ($stateProvider, $urlRouterProvider, $httpProvider, $analyticsProvider) {
        ...
        $httpProvider.interceptors.push(['$q', '$location', function ($q, $location) {
            return {
                'request': function (config) {
                    // Setup authorization token...
                    return config;
                },  
                'responseError': function (response) {
                    if (response.status === 401 || response.status === 403) {
                        $location.path('/login');
                    }   
                    return $q.reject(response);
                }   
            };  
        }]);
        ...
            $stateProvider.state('login', {
            cache: false,
            url: '/login',
            templateUrl: 'templates/login.html',
            controller: 'LoginCtrl'
        })  

            // setup an abstract state for the tabs directive
            .state('tab', {
                url: '/tab',
                abstract: true,
                cache: false,
                controller: 'TabCtrl',
                templateUrl: 'templates/tabs.html'
            })
...
我的浏览器的javascript控制台充满了以下错误:

ionic.bundle.js:25000 GET http://localhost:8100/templates/tabs.html net::ERR_EMPTY_RESPONSE(anonymous function) @ ionic.bundle.js:25000sendReq @ ionic.bundle.js:24793serverRequest @ ionic.bundle.js:24503processQueue @ ionic.bundle.js:29127(anonymous function) @ ionic.bundle.js:29143$eval @ ionic.bundle.js:30395$digest @ ionic.bundle.js:30211$apply @ ionic.bundle.js:30503(anonymous function) @ ionic.bundle.js:32332completeOutstandingRequest @ ionic.bundle.js:19194(anonymous function) @ ionic.bundle.js:19470
ionic.bundle.js:25000 GET http://localhost:8100/templates/login.html net::ERR_EMPTY_RESPONSE(anonymous function) @ ionic.bundle.js:25000sendReq @ ionic.bundle.js:24793serverRequest @ ionic.bundle.js:24503processQueue @ ionic.bundle.js:29127(anonymous function) @ ionic.bundle.js:29143$eval @ ionic.bundle.js:30395$digest @ ionic.bundle.js:30211$apply @ ionic.bundle.js:30503(anonymous function) @ ionic.bundle.js:32332completeOutstandingRequest @ ionic.bundle.js:19194(anonymous function) @ ionic.bundle.js:19470
当我在拦截器中放置断点时,它会截取对这些本地HTML文件的请求,并将响应状态代码显示为-1

更新1:
它变得越来越陌生。。。如果我清除本地存储,它会工作。。。一旦我使用本地存储来存储登录的用户帐户,因此当我清除存储并刷新时,它会成功加载页面。登录后,所有请求都停止工作。

我花了很多时间调查这个问题,最终找到了问题所在。 在我的例子中,我有一个拦截器,它将承载授权数据添加到每个请求中,所有这些都工作得非常出色,直到这个承载的大小很小,但是我犯了设计错误,在问题开始后,我向它添加了大量数据。
在最小化承载请求大小后,所有工作按预期进行

值得一提的是,我确实将我的源代码管理恢复到了一个已知的好版本,但它仍然因为同样的原因失败。这让我相信这不一定是我的消息来源的问题。我不认为在这里给出答案是可能的-1表示请求未发送,请参阅。我想你可能会调试
请求
特别是
config
。@Pete我对angular也有同样的问题。尽管如此,当我清洁本地存储时,一切都很好。我也曾尝试过从以前的git分支机构结帐,但没有帮助。你找到解决这种奇怪行为的方法了吗?我的经验是,当交流出现问题时,-1是一种包罗万象的方法。如果你得到了200,400,404,500等等。。。这意味着系统可以成功地与另一台服务器通信并得到响应-1意味着(我想)它甚至无法沟通。我希望我能准确地记得我是如何解决我的问题的,但那是几个月前的事了。这也与持票人授权有关。我会记下你的答案。