我目前正在尝试在NodeJS服务器和AngularJS客户端之间进行基于令牌的身份验证。
换句话说:服务器生成令牌,在http头中发送给客户端,客户端接收并设置要在下一个请求(在http头中)发送的令牌,当请求到达服务器时它检查它是否包含先前发送的令牌。重复。
问题是我无法从AngularJS读取标题,即使我可以通过Chrome控制台看到响应中已成功设置标题。
到目前为止,我已经得到了一个AngularJS拦截器(我已经告诉过我应该这样做):
angular
.module('injector', [])
.factory('sessionInjector', function(){
var injectedSession = {
response: function(res) {
console.log("RESPONSE: " + JSON.stringify(res.config.headers));
return res;
};
return injectedSession;
});
这是输出:
RESPONSE: {"Accept":"application/json, text/plain, */*"}
我刚刚开始使用AngularJS而且我有点失落。希望我没有把一些非常基本的东西弄得一团糟。
谢谢。
答案 0 :(得分:2)
当您点击http请求时,它看起来如下所示: -
$http.get("your URL",)
.success(function (data,status, headers, config) {
console.log(headers('Content-Encoding'));
})
.error(function (error) {
canceller.reject(error);
});
}
您将收到来自服务器的回复以及回调中的其他详细信息,您可以使用上面的标题。
我希望它会对你有所帮助。 感谢
答案 1 :(得分:0)
似乎正在改变
'response'
的
{{1}}
成功了。
我不知道为什么会这样。