无法在node.js中将数据从js传递给jade

时间:2014-11-07 06:57:23

标签: javascript node.js express cassandra pug

我正在cassandra的一张桌子(emp)中读一行。

enter image description here

我试图将结果从js文件传递给jade文件,以在用户界面上显示数据。

我的js功能如下

router.get('/cassandra', function (req, res)
{
client.connect(function(err){
    });

client.execute('SELECT * FROM monica.emp WHERE empid= 324;', function (err, result) {
var user = result.rows[0];
console.log("here is the user", user.empid, user.firstname);
res.render('cassandra',{"cassandra":user});
});
});

enter image description here

我的日志正在读取结果。但是我无法将其从jade文件传递给UI。

以下是我的Jade文件

  extends layout

block content
  p Cassandra



    for i in cassandra


            .c=i.empid+" "+i.deptid

我正在显示如下所示的内容

enter image description here

有人可以帮助我解决我在这里错误的地方吗?

4 个答案:

答案 0 :(得分:1)

看起来user不是数组。所以只需在jade视图中没有循环的情况下尝试cassandra.empid

答案 1 :(得分:0)

试试吧

-for(var i in cassandra){
    .c=#{cassandra[i].empid}+" "+#{cassandra[i].deptid}
-}

答案 2 :(得分:0)

您可能需要使用承诺。您是否尝试在响应从服务器返回之前呈现模板?

答案 3 :(得分:0)

你的玉文件应该是

extends layout

block content
    p Cassandra

        #{cassandra.empid} #{cassandra.deptid}