-1
ローカルホスト経由でMySQLからのJSONデータを処理するバックエンドとしてNodeJSを持っています:3002/visit; Angular2にNodeJSからJSONを取得させたい 問題は、私のAngular2アプリがオンラインJSON APIサービスからJSONを完全に得ることができますが、私はURLをGETしてlocalhost:3002/visitに切り替えると購読時にエラーを出します。Angular2はNodeJSからデータを取得できません
NodeJS:
var mysql = require('mysql');
var express = require('express');
var app = express();
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'angela',
database : 'emergency',
});
connection.connect(function(err){
if(!err) {
console.log("Database is connected ... nn");
} else {
console.log("Error connecting database ... nn");
}
});
app.get('/patient',getAllFromPatient);
app.get('/staff', getAllFromStaff);
app.get('/visit', getAllFromVisit);
function getAllFromPatient(req,res){
connection.query('SELECT * from patient', function(err, rows, fields) {
if (!err)
res.send(rows);
else
console.log('Error while performing Query.');
});}
function getAllFromStaff(req,res){
connection.query('SELECT * from staff', function(err, rows, fields) {
if (!err)
res.send(rows);
else
console.log('Error while performing Query.');
});}
function getAllFromVisit(req,res){
connection.query('SELECT * from visit', function(err, rows, fields) {
if (!err){
res.send(rows);
console.log("visit data sent");
}else
console.log('Error while performing Query.');
});}
app.listen(3002);
角度2:
return this.http.get("http://localhost:3002/visit")
.map(res => res.json())
.subscribe(
data => this.msg = JSON.stringify(data),
err => alert(err),
() => console.log("complete")
);
「エラー」についてより具体的に説明できますか? – qqilihq
あなたは 'send()'の代わりにResponseの 'json()'メソッドを使ってみましたか? – rrjohnson85