我试图使用基本的拦截器样本,所以我盯着一小段代码但没有成功:
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
有什么想法吗?
由于
答案 0 :(得分:12)
您的代码非常完美。您需要确保使用正确版本的angularjs。版本1.1.4中添加了$ http.interceptors数组。
我用一个使用angular 1.1.4的示例做了一个plunker,在这里查看http://plnkr.co/edit/cuPfat?p=preview
答案 1 :(得分:5)
$httpProvider.interceptors
数组(我相信)。你最有可能使用一些旧版本的AngularJS。
顺便说一句,该错误表示$httpProvider.interceptors
未定义,而不是$httpProvider
,正如您的标题所暗示的那样。