2016-10-21 15 views
0

特定のURLを選択した後、ネットワークタブの開発者ツールで、応答本体でjsonデータを取得しています。 しかし、コンソール.logで印刷しようとすると、結果が表示されません。console.logのHTTP GETリクエストからの応答を出力できません

let result = this._http.get(url, setheaderAndCredential()) 
.toPromise() 
.then(res => <MemberInformationDto[]> res.json().data)   
.then(data => { return data; }); 

console.log('RESULT is',result); 

答えて

0

あなたはデータを関数の外で利用できない場合にコンソールにしようとしている

let result = this._http.get(url, setheaderAndCredential()) 
.toPromise() 
.then(res => { 
    <MemberInformationDto[]> res.json().data; 
    console.log('RESULT is',res.json()); 
    })   
.then(data => { return data; }); 

、actualy HTTPプロセスは非常にサービスを呼び出すために

+0

を聞かせてそれは同じことを試みたが、でも、文字列 '結果は' ログイン得ていません。 –

+0

あなたのリクエストがヒットしているかどうか、ネットワークタブをチェックしてください。 –

+0

@pradeep私は結果を得る開発者のツールの[ネットワーク]タブ –

0

方法がある.mapメソッド内印刷asynchronuslyでこれを試してみてください

let url = "yourURL";

返すthis._http.get(url、yourcredentialRequest())。map(res => res.json());

私は以下のような関数を使ってこの戻り値にアクセスしていますが、inner console.logの 'job done get'ではurl値を取得できますが、外部console.logでは 'hello data'ではありません。

HI = this.functionCallToGetReturnValue()

.subscribe(
       data => this.myStringVarable = JSON.stringify(data), 
       error => console.log("Error HTTP GET Service"), 
      () => console.log("Job Done Get !", this.myStringVarable) 
      ); 

    console.log('hello data', this.myStringVarable); 
関連する問題