从 Angular 中的 HttpClient post 请求获取响应 headers?
Getting response headers from HttpClient post request in Angular?
我正在尝试从 post 请求中获取响应 headers,但是 HttpResponse object 不包含我可以看到的 headers在网络中。我究竟做错了什么?我需要访问 Apiproxy-Session-Id 键的值,但它不存在于 HttpHeaders 中。
这是我执行 post 请求并记录完整响应的代码,其中 http 是一个 HttpClient object.
this.http.post('http://localhost:8081/user/login',
JSON.stringify(requestBody), {observe: 'response'}).subscribe(resp => {
console.log(resp);
});
This is the response I'm logging.
These are the headers I'm seeing in the network.
我是 Angular 的新手,对此非常困惑。谢谢你的帮助!
尝试添加responseType: 'text'
this.http.post('http://localhost:8081/user/login',
JSON.stringify(requestBody), {observe: 'response', responseType: 'text'}).subscribe(resp => {
console.log(resp);
});
嘿伙计,我在这里遇到了同样的问题。由于您的后端和前端位于不同的域中,因此某些 headers 响应在默认情况下不会公开。
您可以尝试两种不同的方法:
1.在 Angular
上代理您的请求
有了这个代理将使您的后端认为请求来自 sabe 域。请参阅 this doc 了解如何操作。请记住,使用此选项 所有 headers 都将被公开。
2。在你的后端服务器
上公开你想要的headers
因为我不知道你后端的语言我不能告诉你一步一步这样做,但我必须做这样的事情关于回应:response.add("Access-Control-Expose-Headers", "Apiproxy-Session-Id")
.
我正在尝试从 post 请求中获取响应 headers,但是 HttpResponse object 不包含我可以看到的 headers在网络中。我究竟做错了什么?我需要访问 Apiproxy-Session-Id 键的值,但它不存在于 HttpHeaders 中。
这是我执行 post 请求并记录完整响应的代码,其中 http 是一个 HttpClient object.
this.http.post('http://localhost:8081/user/login',
JSON.stringify(requestBody), {observe: 'response'}).subscribe(resp => {
console.log(resp);
});
This is the response I'm logging.
These are the headers I'm seeing in the network.
我是 Angular 的新手,对此非常困惑。谢谢你的帮助!
尝试添加responseType: 'text'
this.http.post('http://localhost:8081/user/login',
JSON.stringify(requestBody), {observe: 'response', responseType: 'text'}).subscribe(resp => {
console.log(resp);
});
嘿伙计,我在这里遇到了同样的问题。由于您的后端和前端位于不同的域中,因此某些 headers 响应在默认情况下不会公开。
您可以尝试两种不同的方法:
1.在 Angular
上代理您的请求有了这个代理将使您的后端认为请求来自 sabe 域。请参阅 this doc 了解如何操作。请记住,使用此选项 所有 headers 都将被公开。
2。在你的后端服务器
上公开你想要的headers因为我不知道你后端的语言我不能告诉你一步一步这样做,但我必须做这样的事情关于回应:response.add("Access-Control-Expose-Headers", "Apiproxy-Session-Id")
.