2013-10-14 8 views
8

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

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 

+2

を、それをチェックアウトし、角度1.1.4での作業あなたの例でplunkerを作りました。問題はバージョンで発生する可能性があります。 – Chandermani

答えて

12

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

私はあなたのangularjsバージョンと$ HTTPドキュメントの対応バージョンを確認し、ここhttp://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors配列

おかげでAngularJSのv.1.1.4(私は信じている)で追加されました。 AngularJSの古いバージョンを使用している可能性があります。

Btwの場合、そのエラーは$httpProvider.interceptorsが定義されていないと表示され、$httpProviderというタイトルは意味しません。