从 Angular 中的 HttpClient post 请求获取响应标头?

2023-12-07

我试图从发布请求中获取响应标头,但 HttpResponse 对象不包含我在网络中看到的相同标头。我究竟做错了什么?我需要访问 Apiproxy-Session-Id 键的值,但它不存在于 HttpHeaders 中。

这是我执行 post 请求并记录完整响应的代码,其中 http 是 HttpClient 对象。

this.http.post('http://localhost:8081/user/login', JSON.stringify(requestBody), {observe: 'response'}).subscribe(resp => { console.log(resp); });

这是我正在记录的响应。

这些是我在网络中看到的标头。

我是 Angular 的新手,对此感到非常困惑。感谢您的帮助!


嘿,伙计,我在这里遇到了同样的问题。由于您的后端和前端位于不同的域,默认情况下不会公开某些响应标头。

您可以尝试两种不同的方法:

1. 在 Angular 上代理您的请求

这样,代理将使您的后端认为请求来自 sabe 域。看this doc知道如何去做。请记住,使用此选项所有标题将会被暴露。

2. 在后端服务器上公开您想要的标头

由于我不知道你后端的语言,所以我无法告诉你一步步为此,但我必须对响应执行类似的操作:response.add("Access-Control-Expose-Headers", "Apiproxy-Session-Id").

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Angular 中的 HttpClient post 请求获取响应标头? 的相关文章

随机推荐