Injizieren Sie $ route in einen http-Interceptor

Ich versuche, benutzerdefinierten Header in jede API-Anforderung einzufügen. Wenn ich einen hartcodierten Text zur Verfügung stelle, funktioniert das.

Arbeitscode

myApp.config(['$httpProvider', function ($httpProvider) {
    var requestInterceptor = ['$q', '$rootScope', 
        function ($q, $rootScope) {
            var interceptorInstance = {
                request: function (config) {
                    config.headers['X-MyApp-CustomHeader'] = "foobar"; 
                    return config || $q.when(config);
                }
            };
            return interceptorInstance;
        }];

    $httpProvider.interceptors.push(requestInterceptor);
}]);

Code funktioniert nicht

myApp.config(['$httpProvider', function ($httpProvider) {
    var requestInterceptor = ['$q', '$rootScope', '$route',
        function ($q, $rootScope, $route ) {
            var interceptorInstance = {
                request: function (config) {
                    config.headers['X-MyApp-CustomHeader'] = $route.current.params.CustomParameter; 
                    return config || $q.when(config);
                }
            };
            return interceptorInstance;
        }];

    $httpProvider.interceptors.push(requestInterceptor);
}]);

ErrorBeim Versuch zu spritzen$route

Nicht erfasster Fehler: [$ injector: cdep] Kreisförmige Abhängigkeit gefunden: $ route <- $ httphttp://errors.angularjs.org/1.2.3/$ injector / cdep? p0 =% 24route% 20% 3C-% 20% 24http

Antworten auf die Frage(1)

Ihre Antwort auf die Frage