Я использую 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] [log] [объект объекта], [объект объекта], [объект объекта], [объектObject] ".
Я также попытался создать объекты javascript и JSON.stringify безуспешно. Если я жестко кодирую результаты SQL-запроса, он работает .. Параметры должны выглядеть следующим образом:
{"value":"foo","title":"foo!"}.
РЕДАКТИРОВАТЬ: Вот как выглядит SQL-код. Там, где ниже рендер, вставляется 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()
});
});