我使用const
mysql = require('mysql2')
并使用
查询我的数据库connection.query(query, function(err, result) {
if(err) return callback(err);
callback(null, result);
});
效果很好,我收到了结果。但是,然后我尝试将结果传递给
app.get('/', (req, res) => {
(sql code goes here), store it in result
res.render('search', {
dropdowns: [{
name: 'Name1',
title: 'Name1',
options: result
...
}
我得到一个带有正确数目的条目的下拉列表,但是它们都是空的/“”(。)。
如果我使用console.log,它会显示
[15:52:07] [日志] [对象对象],[对象对象],[对象对象],[对象对象]”。
我也曾尝试制作javascript对象和JSON.stringify,但运气不好。如果我对SQL查询结果进行硬编码,它将起作用。.选项应类似于
{"value":"foo","title":"foo!"}.
编辑:这是SQL代码的样子。在下方的render处,插入了res.render。
function getMessage(query, callback) {
doQuery(query, function (err, result) {
if(err || !result.length) return callback('error or no results');
callback(null, result);
});
}
function doQuery(query, callback) {
connection.query(query, function(err, result) {
if(err) return callback(err);
callback(null, result);
});
};
getMessage(combinedQ, function(err, result){
maxAvgift=result[0].maxAvgift;
minAvgift=result[0].minAvgift;
maxRum=result[0].maxRum;
minRum=result[0].minRum;
maxArea=result[0].maxArea;
minArea=result[0].minArea;
maxPris=result[0].maxPris;
minPris=result[0].minPris;
getMessage(disctinctLan, function(err, result){
createJSON(result, lanList);
});
getMessage(disctinctObjekttyp, function(err, result){
createJSON(result, objekttypList);
});
getMessage(testQ, function(err, result){
console.log(result);
createResultArray(result);
render()
});
});