ввести $ route в http-перехватчик
Я пытаюсь внедрить пользовательский заголовок в каждый запрос API. Когда я предоставляю какой-то жестко закодированный текст, это работает.
Рабочий код
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);
}]);
Не работает код
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);
}]);
ошибкаПри попытке введения$route
Uncaught Ошибка: [$ injector: cdep] Обнаружена циклическая зависимость: $ route <- $ httphttp://errors.angularjs.org/1.2.3/$ Инжектор / CDEP? Р0 =% 24route% 20% 3C-% 20% 24http