我对Angular很陌生,所以很可能我犯了一些愚蠢的错误。
我尝试做的是使用保存在localStorage中的令牌,并将其放在所有请求中。
我有这样的代码块:
.config(['$httpProvider', 'localStorageService', function($httpProvider, localStorageService) {
//Http Interceptor to check auth failures for xhr requests
$httpProvider.interceptors.push('authHttpResponseInterceptor');
$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.headers.common.Authorization = 'Token token=' + localStorageService.get("TemponiaToken")
}])
我收到了以下错误消息:
Uncaught Error: [$injector:modulerr] Failed to instantiate module starter due to:
Error: [$injector:unpr] Unknown provider: localStorageService
我发现这个问题和答案(我认为)解释了这个问题:Why can't I use the localStorage in my .config when it's include in the .module definition?
然而:我该如何解决这个问题?将.config更改为.run?感谢您提供的正确指导。
2条答案
按热度按时间mkshixfv1#
正如您找到的答案所说,在配置阶段不可能注入服务。
有两种可能的解决方案可以解决您的问题。
另一个是正确定义
interceptor
wfveoks02#
ngStorage的文档说明如下:
配置阶段的使用情况
要在Angular 配置阶段读取和设置值,请使用提供程序提供的.get/.set函数。