Ich verwende die Ionic 2 Calendar, um Klassenzeiten anzuzeigen, die als JSON von einem Remote-Server abonniert wurden. Ich versuche, die Antwort von meinem Abonnement zu extrahieren und in ein Array zu legen, aber wenn ich die Daten in console.log ablege, bekomme ich "undefiniert".So extrahieren Sie Daten aus angular http.get.subscribe
Der Code ist wie folgt:
export class Calendar {
eventSource;
viewTitle;
constructor(private navController:NavController, private httpService:HttpService) {
var classes = [];
this.httpService.getCalendarConfig()
.subscribe(res => classes => res);
console.log(classes);
}
Hinweis, wenn ich .subscribe zu ändern:
.subscribe(res => console.log(res));
Es zeigt die JSON, wie es sollte in der Konsole.
bearbeiten: die Httpservice-Klasse sieht wie folgt aus:
@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);
}
}
Hallo @Pankaj Parkar bekommen, danke, dass die Situation verbessert hat, da es nicht sagt mehr „unbestimmt“. Aber jetzt sagt die Konsole: Array []. Habe ich den falschen Datentyp zugewiesen? –
Könnten Sie bitte dieses Array öffnen .. Sie werden Elemente darin erhalten –
Hallo @ Pankaj Entschuldigung für die Verzögerung! Wie öffnest du das Array? –