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