Angular 2でデータを取得し、javascriptでデータを取得する方法が不思議です。ヒーローのチュートリアルを見てきましたが、これまで私が思いついたのはここです。Angular 2 httpはAsp.net Core MVCを使用して取得します
私は記事
GetArticles(subverse : string) : Observable<Article[]> { console.log("GetArticles URL: " + this._getArticlesUrl + "/?subverse="+subverse); return this.http.get(this._getArticlesUrl + "/?subverse="+subverse) .map(this.extractData) .catch(this.handleError); } private extractData(res: Response) { let body = res.json(); return body.data || { }; } private handleError (error: Response | any) { // In a real world app, we might use a remote logging infrastructure let errMsg: string; if (error instanceof Response) { const body = error.json() || ''; const err = body.error || JSON.stringify(body); errMsg = `${error.status} - ${error.statusText || ''} ${err}`; } else { errMsg = error.message ? error.message : error.toString(); } console.error(errMsg); return Observable.throw(errMsg); }
を取得するために、サービス内の関数を作成したコンストラクタ
のHTTP VARとサービスを作成しましたが、私は「ドン観察可能なものが何であり、なぜ私はここでそれを使用しなければならないのか理解していますか?
さて、このコードは実際に私のURLを呼び出し、URLが実際に
JSON
として記事データを返すURLの応答:[{"id":1,"userID":"00d85571-e2d3-4817-8698-6aa1b184112b","title":"title","link":"http://google.com","text":"text","subverse":"home","votes":0,"isanon":false}]
ここに私の記事のクラスです:
export class Article {
id : number;
isanon : boolean;
title: string;
link: string;
text: string;
subverse : string;
userID : string;
votes: number;
}
マイ質問は、どのように私の記事では、このURLの応答を取得する[]私のJavaScriptでですか?私は
articlesO : Observable<Article[]>;
articles : Article[];
this.articlesO = this.service.GetArticles(this.subverseStr);
this.articlesO.forEach(a => this.articles = a);
を試してみましたが、コードの私のthis.articles
滞在undefined
てきました。 URL jsonを読んで、Articles[]
にするにはどうすればいいですか?
助けてください。
ありがとうございました。
@ClaySmith? – echonax
jsonコードからbody.dataを削除して動作させました。サーバーは元の投稿にURL応答を返します。私はそれが働いていると思う!迅速な対応をしていただきありがとうございます。 :) –
@ClaySmithああ問題はない、うれしいあなたがそれを理解:) – echonax