AngularJS: 注入http拦截器时出错
AngularJS: error injecting http interceptor
我正在使用 AngularJS 实施基于令牌的身份验证。令牌在服务器上创建并返回给客户端。身份验证后,令牌将添加到每个 rest 调用的 header。我创建了一个 authInterceptor:
ristoreApp.factory('authInterceptor', function ($rootScope, $q, $window) {
return {
request: function (config) {
config.headers = config.headers || {};
if ($window.localStorage.getItem("access_token")) {
config.headers.Authorization = 'Bearer ' + $window.localStorage.getItem("access_token");
}
return config;
},
response: function (response) {
if (response.status === 401) {
// handle the case where the user is not authenticated
}
return response || $q.when(response);
}
};
});
然后注入我的config.js如下:
ristoreApp
.config(function ($httpProvider, authInterceptor, $routeProvider) {
$httpProvider.interceptors.push('authInterceptor');
$routeProvider
.......
})
但是我得到了以下错误:
Failed to instantiate module ristoreApp due to: Unknown provider: authInterceptor
我的拦截器注入方式有什么问题?
当您没有定义
时,会发生无法实例化模块的情况
ristoreApp
在您的路由文件中。
我正在使用 AngularJS 实施基于令牌的身份验证。令牌在服务器上创建并返回给客户端。身份验证后,令牌将添加到每个 rest 调用的 header。我创建了一个 authInterceptor:
ristoreApp.factory('authInterceptor', function ($rootScope, $q, $window) {
return {
request: function (config) {
config.headers = config.headers || {};
if ($window.localStorage.getItem("access_token")) {
config.headers.Authorization = 'Bearer ' + $window.localStorage.getItem("access_token");
}
return config;
},
response: function (response) {
if (response.status === 401) {
// handle the case where the user is not authenticated
}
return response || $q.when(response);
}
};
});
然后注入我的config.js如下:
ristoreApp
.config(function ($httpProvider, authInterceptor, $routeProvider) {
$httpProvider.interceptors.push('authInterceptor');
$routeProvider
.......
})
但是我得到了以下错误:
Failed to instantiate module ristoreApp due to: Unknown provider: authInterceptor
我的拦截器注入方式有什么问题?
当您没有定义
时,会发生无法实例化模块的情况ristoreApp
在您的路由文件中。