AngularJS $ httpProvider未定义

时间:2013-10-14 16:06:10

标签: angularjs

我试图使用基本的拦截器样本,所以我盯着一小段代码但没有成功:

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 个答案:

答案 0 :(得分:12)

您的代码非常完美。您需要确保使用正确版本的angularjs。版本1.1.4中添加了$ http.interceptors数组。

我用一个使用angular 1.1.4的示例做了一个plunker,在这里查看http://plnkr.co/edit/cuPfat?p=preview

答案 1 :(得分:5)

在AngularJS v.1.1.4中添加了

$httpProvider.interceptors数组(我相信)。你最有可能使用一些旧版本的AngularJS。

顺便说一句,该错误表示$httpProvider.interceptors未定义,而不是$httpProvider,正如您的标题所暗示的那样。