Wie im Titel gesagt, passiert nichts, wenn ich meine beobachtbare abonnieren. Es gibt keinen Fehler in der Konsole oder während des Builds. Hier ist mein Code:Angular 2 Http nicht auslösen
Mein Service
getBlueCollars(): Observable<BlueCollar[]> {
return this.http.get(this.defaultAPIURL + 'bluecollar?limit=25').map(
(res: Response) => {
return res.json();
});
}
Meine Komponente
ngOnInit() {
this.planifRequestService.getBlueCollars().subscribe(
data => {
this.blueCollars = data;
console.log('Inner Blue Collars', this.blueCollars);
},
err => console.log(err)
);
console.log('Value BlueCollars : ', this.blueCollars);
}
So ist der zweite console.log auslöst mit "Wert BlueCollars: Nicht definiert", und das Protokoll in meinem Abo wird nie gezeigt. Außerdem kann ich die auf der Registerkarte "Internet" von Chrome gesendete Anfrage nicht sehen.
Also alles mit dem folgenden Code habe ich versucht, zu vereinfachen:
let response: any;
this.http.get('myUrl').subscribe(data => response = data);
console.log('TestRep: ', response);
Das gleiche Problem hier, kein Fehler, Antwort ist nicht definiert. Es scheint, dass der Abonnent das Observable nicht auslöst. (Die URL korrekt ist, wird es auf meine Prahlerei oder mit Postbote arbeitet.)
Ich bin auf Angular 2.4.9
bearbeiten
Also versuchte ich/Vergangenheit den Code zu kopieren von meine Anfrage zu einem brandneuen Projekt, alles funktioniert gut. Die Anfrage wird ausgelöst und ich kann die JSON-Antwort korrekt abrufen. Es gibt also vielleicht etwas in der Konfiguration meines Projekts, das verbietet, dass die Anfrage korrekt ausgelöst wird.
Was die URL Ihrer Angular App ist es, was die URL des Backend Sie anrufen? Haben sie denselben Host und denselben Port oder nicht? –
können wir den Rest des Komponentencodes sehen? oder ein Plunkr? – danimal
die Syntax des Abonnierens ist soweit ich sehen kann richtig - subscribe kann ein zwei oder drei Funktionen als Argumente, und das OP hat zwei, was in Ordnung ist. – danimal