2017-05-22 15 views
0

ヘッダーから 'Total'データを取得したいと思いますが、Postmanがもっと多くのデータを表示すると、そこに4つの変数しかないようです。レスポンスボディは問題ありません。コンポーネントのヘッダーに正しくアクセスできません。どうやってやるの? 情報が不足している場合は、できるだけ早く投稿を編集します。 サービス機能:ヘッダーから変数を取得する角度2

 public getAdverts(searchParams){ 
let url = 'https://znajdzspeca.herokuapp.com/search/jobs' 
let headers = new Headers(); 
headers.append('Content-Type', 'application/json'); 

if(searchParams.localization instanceof Array) 
searchParams.localization = searchParams.localization[0] 

let body = JSON.stringify(searchParams) 

return this.http.post(url, body, {headers: headers}) 
.map(response => response) 
} 

そのサービスを使用してコンポーネント機能:

private getAdverts(searchAdvert){ 
this.advertService.getAdverts(this.searchAdvert) 
    .subscribe(

    response => { 
     var totalPages = (response.headers.get('Total')); 
     console.log(totalPages); 
     console.log(response); 
     this.results = response.json() 


    }, 
    error => console.log(error)) 
    } 
    } 

コンソール&郵便配達ログ http://i64.tinypic.com/206ouao.jpg

答えて

0

問題は、あなたがあなたの応答をマッピングすることです。応答自体からヘッダーに到達することができます。したがって、地図演算子を削除する必要があります。

/*.map(response => response)*/ <---- 
     .subscribe((res) => { 
     var yourData = res.json(); 
     var headers = res.headers; 
     }); 

応答ヘッダーにアクセスしてCORSに注意してください。カスタムヘッダーは同じドメインに表示されることに注意してください。ただし、クロスドメインの状況では、サーバーはAccess-Control-Expose-Headers:X-Foo、...ヘッダーを送信して、カスタムヘッダーを表示する必要があります。

+0

それはCORSの問題だった、解決しました、ありがとう! –

+0

スーパー!あなたは答えを有益としてマークできますか?ありがとう。 – krzysztofla

+0

私は今私ができることをしましたが、十分な評判はまだありません。 –

関連する問題