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 Parkar认购的成功
classes
对象,谢谢你,已改善了这种情况,是因为它不再说“不确定”。但是现在控制台说:Array []。我是否分配了错误的数据类型? –您可以打开该阵列..你会得到它的元素 –
嗨@Pankaj抱歉的延迟!你如何打开阵列? –