2013-10-14 16 views
8

I'am cercando di utilizzare un campione di base di intercettori, così ho guardato con un piccolo pezzo di codice, ma senza successo:

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'); 
}); 

Quando lancio la mia pagina di indice Ho un messaggio di errore nella console:

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

Qualche idea?

Grazie

+2

Controllare la versione angularjs e la versione corrispondente di $ http documentazione. Il problema potrebbe essere con la versione. – Chandermani

risposta

12

Il tuo codice è perfetto. Devi assicurarti di utilizzare la versione corretta di angularjs. La matrice $ http.interceptors è stata aggiunta nella versione 1.1.4.

ho fatto un plunker con il vostro esempio lavorare con angolare 1.1.4, verificarlo qui http://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors matrice è stato aggiunto a AngularJS v.1.1.4 (credo). Probabilmente stai usando una versione precedente di AngularJS.

Btw, tale errore indica $httpProvider.interceptors non definito, non $httpProvider come suggerisce il titolo.