Daten von node.js Server erhält ich Winkel lerne 2 und ich versuche also in Winkel 2.enKann nicht mit Winkel 2
Daten von einem Knoten-Server mit Hilfe der Dienstleistungen zu erhalten Ich habe einen Winkel Komponente mit einer Schaltfläche. Nachdem ich auf diese Schaltfläche geklickt habe, sollte ein Angular Service eine Anfrage an den Server stellen und die Antwort in eine Variable holen. Aber meine Variable bleibt immer undefiniert. Hier
ist der Code des Dienstes:
import { Observable } from 'rxjs/Rx';
// Import RxJs required methods
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
@Injectable()
export class LoginService {
constructor (private http: Http) {
}
private dataUrl = 'http://localhost:1337';
getData() : Observable<Data[]> {
return this.http.get(this.dataUrl)
.map((res:Response) => res.json());
//.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
}
Hier ist der node.js Code:
var http = require('http');
var port = 1337;
var data = "Hi";
http.createServer(function(req, res) {
res.writeHead(200, {"Content-Type": "text/plain"});
res.write(data);
res.end("Hi");
}).listen(port);
console.log('Server running on port %s', port);
Hier ist der Code meiner home-page:
import { NavController } from 'ionic-angular';
import { Data } from '../../data/data.component';
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { LoginService } from '../../services/login/login.service';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
public data: string;
constructor(
private loginService: LoginService
){}
getData() {
this.data = this.loginService.getData()[0].data;
console.log(this.data);
}
}
Ich deklariere auch den LoginService im Provider-Array in @NgModule. Meine Daten Komponente ist sehr einfach:
export class Data {
constructor(
public data: string){}
}
Außerdem verwende ich Ionic 2, aber ich glaube nicht, das den Fehler verursachen würde.
Hoffe Jungs, du könntest mir helfen. Cheers,
Andrej
Dank für die nette Antwort –
Glad @DineshKanivu zu helfen :) – sebaferreras