我已经尝试了几种不同的方法尝试使用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
有没有人知道做我想做的事情的好指南或方法?这似乎是相当基本的,我只是没有正确使用成分(节点,快递,玉)。
答案 0 :(得分:1)
也许你遗失的标题变量正在弄乱它:
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
翡翠部分似乎工作正常: https://codepen.io/anon/pen/LZWYqx