2013-10-14 11 views
8

bi'şey önleyicilerin temel örneği kullanmaya çalışıyor, bu yüzden küçük bir kod parçası ile ancak başarılı olamadı baktı:

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

benim indeks sayfasını başlattığınızda bir hata mesajı var konsolda:

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

Herhangi bir fikir?

+2

bunu kontrol için angularjs sürüm ve $ tekabül eden sürümünü http dokümantasyon kontrol edin. Sorun sürümde olabilir. – Chandermani

cevap

12

Kodunuz mükemmel. Angularjs'in doğru sürümünü kullandığınızdan emin olmalısınız. $ Http.interceptors dizisi, 1.1.4 sürümünde eklendi.

Ben senin örnek açısal 1.1.4 ile çalışan bir plunker yapılmış burada http://plnkr.co/edit/cuPfat?p=preview

5

$httpProvider.interceptors dizi

sayesinde angularjs v.1.1.4 (inanıyorum) ilave edildi. Muhtemelen AngularJS'nin eski bir versiyonunu kullanıyorsunuzdur.

Btw, bu hata, $httpProvider.interceptors'un tanımlı olduğunu belirtiyor, başlık olarak $httpProvider belirtiyor.