私はNode.jsとMySQLを使用してデータベースからデータを取得しようとしています。なぜこのコードはjsonデータを返しませんか?
var app=require('express')();
var bodyParser=require("body-parser");
var mysql=require('mysql');
var http=require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end();
}).listen(8081);
console.log('Server running at http://127.0.0.1:8081/');
var connection=mysql.createConnection({
host: 'localhost',
user: 'root',
password: "",
database: 'books'
});
connection.connect(function(err) {
if (!err) {
console.log("Connected to MySQL");
} else if (err) {
console.log(err);
}
});
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.get('/book', function(req, res){
var data={
'error': 1,
'Books': ""
};
connection.query("SELECT * FROM book", function(err, rows, fields){
if(rows.length!=0){
data['error']=0;
data['Books']=rows;
res.json(data);
}else{
data['Books']='No books found';
res.json(data);
}
});
});
私はnode server.js
を実行すると、それはCMDで次の出力を示しています:MySQLの
しかしに接続http://127.0.0.1:8081/ で実行されている
サーバーをここで
は私がしようとしているものですhttp://127.0.0.1:8081/bookにアクセスしても、出力は表示されません。
注:私のXAMPP ApacheサーバーとMySQLが起動しています。
「app.get( '/ book」、function(req、res)){res.json({書籍:'書籍が見つかりません}})) 'あなたが思うように 'app.get'が動作していることを確認してください。あなたのエラーログをチェックしても、 'book'テーブルがない場合のようにSQLクエリからの例外があった可能性があります。 – Schwern
私はそれを試してみましょう。私はこのJSファイルにサーバーコードを書いているのですが、同時にApacheサーバーがオンになっていますか?次に、私は 'response.end()'の中に何も書きませんでした。それは大丈夫ですか? –
Dunno。変更されたJavascriptファイルをリロードするかどうかによってApacheがどのように設定されるかによって異なります。 Apacheを再起動することはできませんでした。基本的なデバッグアドバイスを提供するだけです。それを取り除き、そこからバックアップを構築してください。 – Schwern