2017-04-18 2 views
1

Ich versuche, einen HTTP-Interceptor zu haben, der vor jeder Anfrage an den Server ein Token als HTTP-Header hinzufügt.

app.factory('httpRequestInterceptor', 
    ['$rootScope', function($rootScope) 
    { 
     return { 
      request: function($config) { 
       if($rootScope.token) 
       { 
        $config.headers['auth-token'] = $rootScope.token; 
       } 
       return $config; 
      } 
     }; 
    }]); 

Oben ist mein Interceptor, der für mich okay aussieht. Ich schiebe dann während des Config-Status diesen Interceptor an den http-Provider, wie Sie unten sehen können.

app.config(function ($routeProvider, $httpProvider) { 
    $routeProvider 
     .when(...) 
     .otherwise({ 
      redirectTo: '/' 
     }); 
    $httpProvider.interceptors.push('httpRequestInterceptor'); 
}); 

Nun, wenn in meinem Browser Konsolenprotokoll suchen erhalte ich eine Fehlermeldung, dass: "Unknown provider: httpRequestInterceptorProvider <- httpRequestInterceptor <- $http <- defaultErrorMessageResolver"

Es scheint, es nicht die Abhängigkeit für die Abfangjäger httpRequestInterceptor auflösen kann. Habe ich es falsch definiert?

Danke und schätze jede Hilfe!

+0

'defaultErrorMessageResolver' scheint Teil [Winkel-Auto-Validate] (http: // zu sein jonsamwell.github.io/angular-auto-validate/). Haben Sie das Modul 'jcs-autoValidate' als Abhängigkeit verwendet? – Phil

+0

@Phil Ja, ich habe jcs-autoValidate als Modulabhängigkeit eingefügt und die automatische Überprüfung funktioniert einwandfrei. Ich habe gerade das Code-Snippet aktualisiert, um die ganze app.js anzuzeigen. Ich hoffe das hilft und danke fürs erreichen. –

Antwort

0

Sorry, war ein dummer Fehler auf mein Ende, ich habe vergessen, das Werk in meiner index.html enthalten:/

Verwandte Themen