我對編碼和node.js非常陌生,特別是這可能是一個愚蠢的問題 - 但是我爲mySQL數據庫查詢讀取的所有示例都以只是將查詢結果記錄到控制檯...我想爲我的web應用程序做什麼(或者至少是我想要做的)是將查詢結果作爲函數的產品返回,以便我可以允許我的。 ejs文件來使用JSON對象。如何從node.js中的mySQL查詢返回JSON對象
無論我嘗試將我的.ejs文件接收到「Hello World」作爲getDriver()的產品,情況都是如此。我想它接收'行'(即我的SQL查詢返回的JSON對象)
我可以看到控制檯中的JSON結果&它看起來很完美..我似乎無法讓它'存在」功能:(
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
/* GET about page. */
router.get('/', function(req, res, next) {
res.render('SQLtest', { title: 'SQL test',
result: getDriver() // I want this to be my JSON object
});
});
module.exports = router;
function getDriver() {
var result = "Hello World"; // my .ejs see's this
var connection = mysql.createConnection(
{
host: 'localhost',
user: 'root',
password: 'password',
database: 'my database',
port: 3306
}
);
connection.query("SELECT * FROM my_table",
function (err, rows) {
if (err) {
console.log(err);
}
console.log(rows); // query result looks fine as JSON object
result = rows; // now change "Hello World" to the JSON object
}
);
return result; // however this still = "Hello World" :(
}
非常感謝您的回覆,現在完美地工作!我會用回調函數做更多練習,因爲我從來都不會猜到這是問題所在。 –
太棒了!請接受答案,以便您的問題可以標記爲已回答。如果您覺得有幫助,您也可以爲答案投票。 – ishmaelMakitla
現在應該被接受:) - 我還有另外一個普遍的問題,因爲我在這裏發帖之前花了很長時間沒有找到答案,我總是擔心我沒有以正確的方式工作;我的嵌入式JS文件帶有JSON對象並將其寫入到前端的表中(這是我所有的Web應用程序需要做的)。因此,以這種方式傳遞數據庫查詢是正確的?還是有其他方法我應該使用? –