2017-10-04 92 views
0

我需要从我的响应头获取Set-Cookie。我的回答是这样的: enter image description hereAngular 2如何访问标题

我的代码如下所示:

this.http.get(url, {headers: this.getHeaders(token)}) 
     .timeout(this.timeout - this.loginTimeout) 
     .subscribe(res => { 
      var payload = res.json(); 
      var headers = res.headers; 
      var setCookieHeader = headers.get('Set-Cookie'); 
      console.log(setCookieHeader); 

但setCookieHeader总是空。有没有什么方法可以访问这个响应头?感谢您的任何帮助。

回答

0

首先,我认为你需要升级到最新的http,在与angular 4.3+未来通过import { HttpClientModule } from '@angular/common/http';imports: [ HttpClientModule ]@NgModule

那么你可以参考https://angular.io/guide/http#reading-the-full-response

http 
    .get<MyJsonData>('/data.json', {observe: 'response'}) 
    .subscribe(resp => { 
    // Here, resp is of type HttpResponse<MyJsonData>. 
    // You can inspect its headers: 
    console.log(resp.headers.get('X-Custom-Header')); 
    // And access the body directly, which is typed as MyJsonData as requested. 
    console.log(resp.body.someField); 
    });