2016-12-02 19 views
0

getを使用して、angle2でビューを設定しようとしています。 私はseachbuttonを持って、テンプレート内のコンポーネントとサービスAngular2サービスは、http.getからObservableに結果を返しません。

が、それは私も含めコンポーネント私は

getSearchResultPart1(searchWord : string) : Observable<SearchData[]> { 
    let fullURL = 'url=http://domain.nl/searchData.php?q='+searchWord;  
    return this.http.get(fullURL) 
     .map((res: Response) => { 
      res.json().data as SearchData[] 
      console.log(res.json()); // Shows an array with objects 
     }) 
     .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
} 

を行うサービスで

//component 
searchResult : SearchData[]; 
searchData(){ 
    this.search.geSearchResultPart1(this.form.searchterm) 
     .subscribe(
      searchresult => { 
        this.searchResult = searchresult 
        console.log( searchresult); // undefined 
       }, 
       err => { 
        console.log(err); 
       }); 
} 

上の検索目的球を発射HAVA (その他必要な輸入品)

import 'rxjs/add/operator/map'; 
import 'rxjs/add/operator/catch'; 

サービスeはconsole.logで応答を表示しますが、データは返されません。 複数のツットを検索して追跡しましたが、結果はありません。私はライトをやっていると思いますが、小さなことを忘れていますが、何がわからないのですか?あなたは{}=>を使用する場合は

答えて

2

あなたが最初に私はそれがホワイトアウト{}が、それがコンポーネント上で動作しませんでした書いて、明示的にreturn

return this.http.get(fullURL) 
    .map((res: Response) => { 
     res.json().data as SearchData[] 
     console.log(res.json()); // Shows an array with objects 
     return res.json(); 
    }) 
+1

感謝を必要としています。だから私は応答を確認し、応答を忘れてログを追加しました。私は2分であなたの答えを受け入れます。 – user1664803

関連する問題