Getting response headers from HttpClient post request in Angular?

前端 未结 2 851
盖世英雄少女心
盖世英雄少女心 2021-01-21 06:47

I\'m trying to get the response headers from a post request, but the HttpResponse object doesn\'t contain the same headers that I can see in the network. What am I doing wrong?

相关标签:
2条回答
  • 2021-01-21 07:16

    Hey man I was having the same problem here. Since your backend and frontend are on different domains some headers of the response are not exposed by default.

    You can try two different approaches:

    1. Proxy your requests on Angular

    With this the proxy will make your backend think the request came from the sabe domain. See this doc to know how to do it. Keep in mind that with this option all headers will be exposed.

    2. Expose the headers you want on your backend server

    Since I don't know the language of your backend I can't tell you the step by step to do so, but I'll have to do something like this on the response: response.add("Access-Control-Expose-Headers", "Apiproxy-Session-Id").

    0 讨论(0)
  • 2021-01-21 07:26

    Try to add responseType: 'text'

    this.http.post('http://localhost:8081/user/login', 
        JSON.stringify(requestBody), {observe: 'response', responseType: 'text'}).subscribe(resp => {
            console.log(resp);
        });
    
    0 讨论(0)
提交回复
热议问题