将查询数据从函数返回到jade / express.js页面

时间:2016-06-22 14:36:49

标签: node.js express pug

我已经尝试了几种不同的方法尝试使用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

有没有人知道做我想做的事情的好指南或方法?这似乎是相当基本的,我只是没有正确使用成分(节点,快递,玉)。

1 个答案:

答案 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