$ http()。catch读取响应头

时间:2016-08-01 20:24:51

标签: angularjs

我正在构建一个与RESTful API对话的简单角度1.4.8应用程序。用户可以使用$ http添加POST到REST API的项目。 API可以使用201创建响应,或者如果类似项已经存在409状态,则Location头指示现有项的ID。

在我的应用程序中,要处理项目存在的情况,我使用httpPromise的catch处理程序,但我无法访问那里的Location标头。 在chrome dev工具中,我看到POST请求和409响应与Location标头(只是为了证明它在那里)。 在调试时,在catch处理程序中我检查函数的参数并查看状态409和headers函数,但是唯一存在的头是content-type,缺少Location头。

如何从httpPromise的响应参数中访问Location标头?

编辑: 在这里,您可以在“网络”选项卡中看到带有“位置”标题的请求\响应:

enter image description here

在这里,您可以看到应该在标题和控制台中查看缺少Location标头这一事实的代码片段:

enter image description here

1 个答案:

答案 0 :(得分:0)

找到解决方案here。 问题是该应用程序在不同的域下运行,然后是服务器,因此添加 Access-Control-Expose-Headers修正了它。