HttpClient Subscribed Response Headers Undefined

2020-04-16 01:30发布

问题:

can anyone give me any reasons on why I'm not getting any headers when getting a response back from http.post?

this.http.post<Response>(url, body).subscribe((res: Response) => console.log(res.headers));

res.headers logs 'undefined', however in Chrome DevTools, the response is showing the headers I'm looking for.

Side note: I do have Access-Control-Expose-Headers set to the header I'm wanting to expose.

Any idea why this would be?

回答1:

To observe a response instead of a typecasted body, which the newer HttpClient does by default:

this.http.post(url, data, {observe: 'response'}).subscribe((res:Response) => {});

Ie. what you were doing was just type casting the data your server sent as <Response>.



回答2:

Just import Response from `@angular/http` or `@angular/common/http`
reference official doc : https://angular.io/guide/http
                         https://alligator.io/angular/angular-5/
                         https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced