我一直在尝试几种不同的方法来尝试使用express.js获取包含来自SQL查询的数据的数组,并使用express和Jade模板将其显示在页面上。通过阅读太多不同的方法,我在某种程度上使这个过程变得复杂,但我只是没有掌握基本概念。
本质上,我有 app.js 和一个名为 fetchData 的函数,该函数创建与 DB2 数据库的连接并将行存储在数组中。我可以看到成功打印到控制台日志。我的问题在于将该数组返回到由express和Jade生成的网页。我已经使用了教程并使用以下方法创建了基本页面:
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express'});
});
之后我尝试过:
module.exports = router;
exports.init = fn1.fetchData();
exports.list = function (req ,res) {
res.render('iData', { 'iData': dData });
}
但这肯定看起来不正确,并且当我尝试使用 Jade 模板显示它时不起作用:
extends layout
block content
h1= title
p Howdy, welcome to #{title}
ul
for val in iData
li= val
有谁知道做我想做的事情的好的指南或方法?这看起来相当基本,我只是没有正确使用成分(node、express、jade)。
最佳答案
也许你丢失的标题变量把它弄乱了:
app.js
exports.list = function (req ,res) {
res.render('iData', { 'iData': dData, title: 'something' });
}
iData.jade
h1= title
p Howdy, welcome to #{title}
ul
for val in iData
li= val
Jade 部分似乎工作正常: https://codepen.io/anon/pen/LZWYqx
关于node.js - 将查询数据从函数返回到 james/express.js 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37971242/