簡體   English   中英

角響應標頭值

[英]Angular response headers value

我收到來自Angular的WP Rest Api的請求

服務

get(): Observable<any>{
return  this.http.get<any>('mysite.com/posts?categories=4&per_page=2'));
}

app-component.ts

  ngOnInit() {
this.RestApi.get()
  .subscribe(
    e => {
      console.log(e);
      console.log('headers: ' + e.headers);
    });}

響應

DevTools-網絡 1https : //i.stack.imgur.com/HBI7i.png

DevTools-控制台:

(2) [{…}, {…}]
    0: {id: 100, date: "2018-02-27T18:38:59", ...}
    1: {id: 98, date: "2018-02-27T18:38:34", ...}
    length: 2__proto__: Array(0)

headers: undefined

那么,為什么在網絡中可以看到響應標題,而在控制台中卻沒有定義? 如何獲得“ X-WP-TotalPages”的價值? 我做錯了什么?

謝謝! 希望對您有所幫助:)

http.get(...)完全不返回帶有headers屬性的對象。

https://angular.io/api/common/http/HttpClient#get

如果使用observe選項,您將獲得完整的響應,如下所示:

this.http.get<Config>('mysite.com/posts?categories=4&per_page=2', { observe: 'response' });

https://angular.io/guide/http#reading-the-full-response

您將需要在您的http.get方法中傳遞{ observe: 'response' } http.get { observe: 'response' }選項,以便它可以返回類型為HttpResponse的Observable而不是返回JSON數據。

要顯示每個標題,您可以執行以下操作

this.RestApi.get()
  .subscribe(
    e => {
      console.log(e);
      // debugger; 
      this.headers = e.headers.keys().map(key =>
        console.log(`${key}: ${e.headers.get(key)}`));
    });
}

另外,您可以在代碼中設置調試器(取消注釋該行),以便瀏覽器將在該行處中斷,然后可以根據需要檢查值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM