Ich verwende Angular 2.0.0-beta.16
und versuche, Daten von meiner RESTful API zu erhalten. Ich habe den folgenden Service:Angular2 Http/Jsonp Anfrage nicht möglich
import {Injectable} from 'angular2/core';
import {Jsonp, Response, Headers, RequestOptions} from 'angular2/http';
import {Store} from './store';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';
@Injectable()
export class StoreService {
constructor(private jsonp: Jsonp) {
}
getStores(): Observable<Store[]> {
console.log("getting stores");
// let headers = new Headers({ 'Content-Type': 'application/json' });
// let options = new RequestOptions({ headers: headers });
return this.jsonp.get("http://localhost:8080/stores")
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
console.log(res.status);
if (res.status < 200 || res.status >= 300) {
throw new Error('Bad response status: ' + res.status);
}
let body = res.json();
return body.data || {};
}
private handleError(error: any) {
// In a real world app, we might send the error to remote logging infrastructure
let errMsg = error.message || 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
}
Aus meiner Komponente, ich rufe getStores()
. Ich weiß, dass es in die getStores()
Funktion kommt, weil ich die console.log
Nachricht bekomme. Es passiert jedoch nichts anderes. Es wird keine Anfrage gestellt, die ich in den Chrome-Dev-Tools sehen kann. Es wurden keine Fehler in der Konsole protokolliert. Gar nichts. Ich habe sowohl Jsonp
und Http
ausprobiert, aber beide geben die gleichen Ergebnisse.
Das war es! Vielen Dank. Würde es Ihnen etwas ausmachen, mit einigen Dokumenten zu diesem bestimmten Nugget zu verlinken? – Gregg
Ich fand das interessant [https://gist.github.com/staltz/868e7e9bc2a7b8c1f754] – Picci
http://blog.thoughtram.io/angular/2016/01/06/taking-advantage-of-observables-in-angular2 .html Ihr Link scheint kaputt zu sein. –