Я учусь угловой 2, и я пытаюсь получить данные с сервера узла с помощью услуг в угловом 2.не удается получить данные с сервера Node.js с угловым 2
Так что у меня угловая компонент с кнопкой. После того, как я нажму на эту кнопку, угловая служба должна выполнить запрос на сервер и получить ответ в переменную. Но моя переменная остается неизменной.
Вот код услуги:
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'));
}
}
Вот код Node.js:
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);
Вот код моей главной странице:
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);
}
}
Я также объявляю LoginService в массиве поставщиков в @NgModule. Мой компонент данных очень прост:
export class Data {
constructor(
public data: string){}
}
Кроме того, я использую Ионные 2, но я не думаю, что это вызовет ошибку.
Надеюсь, ребята, я мог бы помочь мне. Приветствия,
Андрей
Спасибо за хороший Ответ –
Рад помочь @DineshKanivu :) – sebaferreras