2013-10-14 2 views
8

I'am 인터셉터의 기본 샘플을 사용하려고, 그래서 나는 코드의 작은 조각으로하지만 성공하지 보았다 :

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

코드가 완벽합니다. anglejs의 올바른 버전을 사용하고 있는지 확인해야합니다. $ http.interceptors 배열은 1.1.4 버전에서 추가되었습니다.

내가 당신의 예제는 각 1.1.4 작업과 plunker를 만들어, 여기에 http://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors 배열

덕분에 AngularJS와의 v.1.1.4 (내가 믿는)에서 추가되었다. 아마도 AngularJS의 이전 버전을 사용하고있을 것입니다.

Btw, 오류는 $httpProvider.interceptors이 정의되지 않았으며, 제목이 의미하는 바대로 $httpProvider이 아닙니다.

관련 문제