1
私はIonic 2 Calendarを使用して、サブスクライブされているクラス時間をリモートサーバからjsonと表示しています。私はサブスクリプションから応答を抽出して配列に格納しようとしていますが、データをconsole.logに出力するときには "未定義"となります。次のように角度http.get.subscribeからデータを抽出する方法
コードは次のとおりです。
export class Calendar {
eventSource;
viewTitle;
constructor(private navController:NavController, private httpService:HttpService) {
var classes = [];
this.httpService.getCalendarConfig()
.subscribe(res => classes => res);
console.log(classes);
}
注、私は.subscribeを変更した場合:
.subscribe(res => console.log(res));
それはコンソールに必要としてそれはJSONを表示します。
編集:次のように、HTTPServiceクラスが見えます:
@Injectable()
export class HttpService {
endpointUrl:string = '<address>';
constructor(private http: Http) {}
getCalendarConfig() {
return this.http.get(this.endpointUrl + 'calendar.json')
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body || {};
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? '${error.status} - ${error.statusText}' : 'Server error';
console.error(errMsg);
return Observable.throw(errMsg);
}
}
こんにちは@Pankajパーカーのサブスクリプションの成功の内側
classes
オブジェクトを取得しますが、それはもはや「未定義」と言うように、状況を改善しなかったこと、ありがとうございました。しかし、コンソールはこう言っています:Array []。私は間違ったデータ型に割り当てましたか? –あなたはその配列を開いてください。あなたはそれに要素を得るでしょう –
こんにちは@Pankajは遅れてごめんなさい!あなたはどのように配列を開きますか? –