在 for 循环中将数据发送到 express.js
send data to express.js in a for loop
我需要帮助,我真的无法解决这个问题。
我有这个网站使用 Node.js
来调用 mySQL
查询并将它们显示为表格,每个表格都在它自己的页面中。为此,我创建了 4 objects,其中包括名称、标题和查询。当我将此代码运行四次(从 queryPage[0]
到 queryPage[3]
)时,效果很好。但是我想把它放到一个 for 循环中,这样我就不需要重复 4 次相同的行,但是它不起作用。页面无法加载...知道发生了什么事吗?
connection.query(queryPage[0].query, function(err, rows) {
var arr = [];
for (var i in rows) {
arr[i] = rows[i];
}
app.get('/' + queryPage[0].name, function(req, res) {
res.render('pages/' + queryPage[0].name, {
title: queryPage[0].title,
data: arr
});
});
});
我想你需要更多这样的东西
var queryPage = [ ... ];
// This route catches all request
app.get('/:name', function (req, res, next) {
// :name = req.params.name
var page;
for(var i = 0, l = queryPage.length; i < l; i++)
if(queryPage[i].name === req.params.name) {
page = queryPage[i];
break;
}
// Check the page exists
if(!page) return res.status(404).send('Not found');
// if(!page) return next();
connection.query(page.query, function(err, rows) {
res.render('pages/' + page.name , {
title: page.title,
data: rows
});
});
});
我需要帮助,我真的无法解决这个问题。
我有这个网站使用 Node.js
来调用 mySQL
查询并将它们显示为表格,每个表格都在它自己的页面中。为此,我创建了 4 objects,其中包括名称、标题和查询。当我将此代码运行四次(从 queryPage[0]
到 queryPage[3]
)时,效果很好。但是我想把它放到一个 for 循环中,这样我就不需要重复 4 次相同的行,但是它不起作用。页面无法加载...知道发生了什么事吗?
connection.query(queryPage[0].query, function(err, rows) {
var arr = [];
for (var i in rows) {
arr[i] = rows[i];
}
app.get('/' + queryPage[0].name, function(req, res) {
res.render('pages/' + queryPage[0].name, {
title: queryPage[0].title,
data: arr
});
});
});
我想你需要更多这样的东西
var queryPage = [ ... ];
// This route catches all request
app.get('/:name', function (req, res, next) {
// :name = req.params.name
var page;
for(var i = 0, l = queryPage.length; i < l; i++)
if(queryPage[i].name === req.params.name) {
page = queryPage[i];
break;
}
// Check the page exists
if(!page) return res.status(404).send('Not found');
// if(!page) return next();
connection.query(page.query, function(err, rows) {
res.render('pages/' + page.name , {
title: page.title,
data: rows
});
});
});