8

私はインターセプターの基本的なサンプルを使用しようとしているので、小さなコードをじっと見つめましたが、成功しませんでした:

var app = angular.module('app',[]).
  config(['$routeProvider','$locationProvider', function($routeProvider,$location) {
    $routeProvider.
    when('/home', {templateUrl: 'home.html',   controller: homeCtrl}).
    when('/login', {templateUrl: 'login.html',   controller: loginController}).
    otherwise({redirectTo : '/home' });
}]);


app.config(function ($httpProvider) {
    $httpProvider.interceptors.push('httpRequestInterceptor');
});

インデックス ページを起動すると、コンソールにエラー メッセージが表示されます。

Uncaught TypeError: Cannot call method 'push' of undefined from app 

何か案が?

ありがとう

4

2 に答える 2

12

あなたのコードは完璧です。angularjs の正しいバージョンを使用していることを確認する必要があります。$http.interceptors 配列はバージョン 1.1.4 で追加されました。

angular 1.1.4で動作する例でプランカーを作成しました。ここでチェックしてくださいhttp://plnkr.co/edit/cuPfat?p=preview

于 2013-10-14T17:04:18.627 に答える
5

$httpProvider.interceptorsarray は AngularJS v.1.1.4 で追加されました (私は信じています)。おそらく古いバージョンの AngularJS を使用しているでしょう。

ところで、そのエラーは、タイトルが意味するもの$httpProvider.interceptorsではなく、定義されていないと言っています。$httpProvider

于 2013-10-14T16:55:16.197 に答える