私は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: これは見知らぬ人になり続けます...ローカルストレージをクリアすると、一度動作します。ローカルのストレージを使用してログインしているユーザーアカウントを保管しているため、ストレージをクリアして更新すると、ページが正常に読み込まれます。ログインした後、すべてのリクエストが停止します。
私は、ソースコントロールを既知の良いバージョンに戻していたことを言及していましたが、同じ原因でそれでも失敗していました。これは私のソースには必ずしも問題ではないと信じています。 – Pete
私はここで答えを出すことはできないと思います。 -1はリクエストが送信されなかったことを意味します。https://docs.angularjs.org/api/ng/service/$httpを参照してください。私は '要求' inteceptorsと特に 'config'をデバッグするかもしれないと思います。 – estus
@ペテ私はまったく同じ問題を角度で持っています。 すべて同じですが、ローカルストレージをクリーンアップするとすべて正常に動作します。 そして私は前のgitブランチからチェックアウトしようとしました - それは助けになりませんでした。 この奇妙な動作を修正するための解決策はありましたか? –