2017-08-02 3 views
0

This is the Image of the API request resultsHTTPリクエストを角度で作成し、オブジェクトからボディを取得する方法は?

ここで私はHTTP要求を行うFaqServiceという名前のサービスを書き込み、コンポーネントにそのサービスを呼び出しています。ここで私はAPIの結果を通過し、体を得るのですかどのようにこのHTMLテンプレートで

getServers(data: string){ 
    return this.http.get(Staticdata.apiBaseUrl + "/2.2/search/advanced?key="+ Staticdata.key +"&access_token="+ Staticdata.access_token +"&/2.2/search/advanced?order=desc&sort=activity&accepted=True&closed=True&title=" + data + Staticdata.redirectUrl + "&filter="+ Staticdata.filters) 
     .map(
     (response: Response) => { 
      const items = response.json(); 
      return items; 
     }) 
    .catch(
     (error: Response) => { 
      return Observable.throw(error); 
     }); 
    } 
} 

component.ts

onRecievingResults(value){ 
    console.log(value); 
    this.router.navigate(['results'], {relativeTo: this.route}); 

    this.faqService.getServers(value) 
     .subscribe(
     (item: any[]) => { 
      console.log(item); 
     }, 
     (error) => console.log(error) 
    ); 
} 

</div> 
<div class="entryTitle" *ngFor = "let item of items"> 
<h1>Search results for :{{ item.body }}</h1> 
</div> 
</div> 
+1

問題は何ですか –

+0

あなたはどんな問題に直面していますか? –

答えて

1

{{ item.body }}は、コンポーネントにthis.item.bodyを参照します。だから、フィールドを作成する必要があります:

public item; // <------- add the field 
onRecievingResults(value){ 
    console.log(value); 
    this.router.navigate(['results'], {relativeTo: this.route}); 

    this.faqService.getServers(value) 
     .subscribe(
     (item: any[]) => { 
      console.log(item); 
      this.item = item; // <------- assign it here 
     }, 
     (error) => console.log(error) 
    ); 
} 

とにあなたのhtmlを変更します。truthyチェックのため

<h1>Search results for :{{ item?.body }}</h1> 

+0

@KaranDesaiああ、私はそれを見ていない。 OPが「this.items」に応答を割り当てていなかったので、それは範囲の問題だと思った。そうでない場合、あなたは正しいです。 – echonax

+0

@KaranDesaiはい私はそれが印刷されたかった –

+0

はい私はそれを後で気づいた。コメントは削除されました:) –

関連する問題