1
我试图让每个向服务器发出请求之前添加一个标记作为http标头的HTTP拦截器。
app.factory('httpRequestInterceptor',
['$rootScope', function($rootScope)
{
return {
request: function($config) {
if($rootScope.token)
{
$config.headers['auth-token'] = $rootScope.token;
}
return $config;
}
};
}]);
上面是我的拦截器,它对我来说看起来没问题。然后,我在配置状态期间将此拦截器推送到http提供程序,如下所示。
app.config(function ($routeProvider, $httpProvider) {
$routeProvider
.when(...)
.otherwise({
redirectTo: '/'
});
$httpProvider.interceptors.push('httpRequestInterceptor');
});
现在看看我的浏览器控制台日志时,我得到一个错误说: "Unknown provider: httpRequestInterceptorProvider <- httpRequestInterceptor <- $http <- defaultErrorMessageResolver"
看来它无法解析拦截httpRequestInterceptor
的依赖。我定义错了吗?
谢谢,感谢任何帮助!
'defaultErrorMessageResolver'似乎是[角自动验证](HTTP的一部分:// jonsamwell.github.io/angular-auto-validate/)。你是否将'jcs-autoValidate'模块作为依赖包含在内? – Phil
@Phil是的,我已经包含jcs-autoValidate作为模块依赖,并自动验证工作正常。 我刚刚更新了代码片段以显示整个app.js.我希望这可以帮助,并感谢伸出援手。 –