我是NodeJ的新手,我的任务是用从MySql数据库中提取的数据替换现有的硬编码数据。传递硬编码数据后,数据会在UI中正确显示。
下面是试图替换的硬编码代码
router.route('/vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
var vehicles = [
{id:1,name:"Test1",price:120,image:"image1",category:"Petrol"},
{id:2,name:"Test2",price:100,image:"image2",category:"Diesel"},
]
res.send(vehicles);
});
这是从MySQL数据库检索的代码
router.route('/Vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
var query = 'select * from cars where category=\''+category+'\'';
var Vehicles = connection.query(
query,
function(err,result){
if(err) {
res.send({message: err});
return;
}else {
res.send(result[0]);
}
}
);
});
用上述Sql代码替换后,将无法看到UI中正在填充的任何数据。我已经创建了表并将一些值插入其中。仍然看不到任何数据。
这是我的connection.js
var mySql = require('mysql');
var connection = mySql.createConnection({
host : "localhost",
user : "root",
password : "root",
database : "test_db"
});
connection.connect();
任何帮助将非常感激。谢谢!!
最佳答案
尝试这个。
db.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'xxxx',
password : 'xxx@123',
database : 'xxxxx'
});
var db = function() {
}
db.getConnection = function () {
return connection.connect();
}
module.exports = db;
server.js
var connection = require('./db');
var db = connection.getConnection();
router.route('/Vehicles').get(function(req,res){
var category = req.param("category");
var term = req.param("term");
db.query(
'select * from cars where category= ?',[category],
function(err,result){
if(err)
res.send({message: err});
else
res.send(result[0]);
});
});
关于mysql - 如何使用MySql和NodeJs在UI中填充数据列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40001002/