2013-10-14 57 views
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 

任何想法?

由於

+2

檢查angularjs版和$相應的HTTP版本文檔。問題可能與版本有關。 – Chandermani

回答

12

你的代碼是完美的。您需要確保您使用的是正確版本的angularjs。 $ http.interceptors數組在版本1.1.4中添加。

我做你的榜樣與角1.1.4工作一個plunker,看看這裏http://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors陣列中AngularJS v.1.1.4(I相信)中的溶液。你最有可能使用一些老版本的AngularJS。

順便說一句,該錯誤表示$httpProvider.interceptors未定義,而不是$httpProvider作爲您的標題暗示。

相關問題