我正在尝试使用AngularJS'$ http拦截器在每次API调用时添加令牌。
这是我的代码(http://pastebin.com/x1EMGcVE):
.factory('authInterceptor', function(authorization, API) {
return {
request: function(config) {
var token = authorization.getToken();
if (config.url.indexOf(API) === 0 && token) {
config.headers.Authorization = token;
}
return config;
}
}
})
在我的节点后端我接到了快递的电话:
app.route('/API-CALL')
.get(function(req, res) {
...
我的问题是每个API请求都在nodejs中收到两次,一个请求没有在Authorization中添加令牌,另一个请求添加了令牌。
这是拦截器的问题吗?从拦截器输出配置似乎没有显示问题,只显示添加了令牌的正确请求数。
如果我删除了:
$httpProvider.interceptors.push('authInterceptor');
调用只进行一次,但当然没有添加令牌。