2013-10-14 27 views
8

I'am próbuje użyć podstawową próbkę przechwytujących, więc patrzył z mały kawałek kodu, ale bez powodzenia:

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

Kiedy uruchomić moją stronę indeksu Mam komunikat o błędzie w konsoli:

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

Masz pomysł?

Dzięki

+2

Sprawdź angularjs wersję i odpowiadającą wersję $ http dokumentacji. Problem może dotyczyć wersji. – Chandermani

Odpowiedz

12

Twój kod jest doskonały. Musisz upewnić się, że używasz poprawnej wersji angularjs. Tablica $ http.interceptors została dodana w wersji 1.1.4.

Zrobiłem plunker Twój przykład z pracy z kątowe 1.1.4, to sprawdzić tutaj http://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors tablicy dodano angularjs v.1.1.4 (wierzę). Najprawdopodobniej używasz starszej wersji AngularJS.

Btw, ten błąd mówi, że $httpProvider.interceptors nie jest zdefiniowany, a nie $httpProvider, jak sugeruje twój tytuł.

Powiązane problemy