私はangularJS2のプロジェクトに取り組んでおり、observableで$ httpを使ってJSONを残りのAPIから解析しています。ここに私のコードがあります。AngularJS2レスポンスオブジェクトをクラスオブジェクトに割り当てる方法
サービス:
getSingleKey(id:any){
var headers = new Headers();
headers.append('content-Type','application/json');
return this.http.get(
'http://192.168.1.59/keyapp/api/getKeyspiration/'+id+'.json'
).map(res => res.json());
}
コンポーネント:
private dataKey: Object = {};
this.keyService.getSingleKey(this.id)
.subscribe(
data=>
{
console.log(data.data),
this.dataKey=data.data
},
error=>console.log(error)
);
にconsole.log(this.dataKey)。でき
GET
localhost/keyapp/api/getKeyspiration/15.json [HTTP/1.1 200 OK 398ms]
//はconsole.logの応答(data.data)要するに
Object { k_id: 15, k_u_id: 5, k_type: 3, k_title: "vaibhav", k_text: "", k_data: "2024067187.png", k_thumb: "", k_added_date: "2016-11-24T06:10:23+0000" }
// response for console.log(this.dataKey)
Object { }
、私は取得しています応答データが、どのよう:
と私は次のような応答を取得しています私はクラスオブジェクトに応答オブジェクトを割り当てます。私は自分のコードで何かを見つけられません。ご協力いただきありがとうございます。
「クラスオブジェクト」何のことをいっているの? –
もう一度行きます。あなたの 'console.log(this.dataKey);'は、subscribe()を呼び出してHTTPリクエストを送った直後に同期的に呼び出されます。はい、この時点で、あなたはまだ何も受け取っていません。あなたの 'console.log(data.data)'は、非同期コールバック関数内にあるはずです。すべてがうまくいきます。だから問題はどこにあるの? –
ありがとう、私は私のコンセプトに問題があることを理解しました。 –