Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 无法在$http响应中以角度访问’WWW-authenticate’标头大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_2@
任何人都可以告诉我为什么我的’WWW-Authenticate’标题在响应中为空,尽管我能够在Chrome开发工具中看到字符串化的’WWW-Authenticate’标题对象?

在服务器端,我正在执行以下操作来设置我的WWW-Authenticate标头以及为CORS设置正确的标头:

res.setHeader('Access-Control-Allow-Origin','http://localhost:8080');
res.setHeader('Access-Control-Expose-Headers','WWW-Authenticate');
res.setHeader('WWW-Authenticate',JSON.Stringify({
    "token": "encryptedToken","message": "encryptedmessage"
}));

我相信我正在服务器端正确设置标头,因为当我查看Chrome开发工具时,我会在“响应标头”下看到正在进行的请求的以下内容.

响应标题
访问控制允许来源:http://localhost:8080
访问控制展露报头:WWW身份验证
连接:保持活跃
日期:2015年5月15日星期五13:48:29 GMT
ETag的:W / “f7-1470611871”
WWW-Authenticate:{“token”:“encryptedToken”,“message”:“encryptedmessage”}
X-已启动方式:快递

但是,当我尝试从响应中访问“WWW-Authenticate”标头时,我得到NULl.

$http.get("http://localhost:4242/days")
.then(function (responsE) {
    var AuthHeader = response.headers('WWW-Authenticate');
    console.log (AuthHeader); // returns null
})

提前谢谢你的帮助!

@H_450_2@

解决方法

好的…经过一些试验和错误后我们已经想到了这一点.我有预先挂起的X-自定义标题一个过时的和不必要的paractive,但是看起来无论是在这种情况下使用的浏览器还是角度本身都期望它.

更改标题名称

WWW-authenticate

X-WWW-authenticate

解决了这个问题.如果有人能说清楚这一点,请做.

事实上,在这里引用第一个答案:Custom HTTP headers : naming conventions,X-的使用已经被弃用,实际上标题应该只是’明智地命名’没有任何前缀.也许重命名为:

appName-authenticate

或类似的最佳做法.

@H_450_2@ @H_450_2@
@H_450_2@
@H_450_2@

大佬总结

以上是大佬教程为你收集整理的angularjs – 无法在$http响应中以角度访问’WWW-authenticate’标头全部内容,希望文章能够帮你解决angularjs – 无法在$http响应中以角度访问’WWW-authenticate’标头所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。