node.js – 将数据传递给node express中的视图

前端之家收集整理的这篇文章主要介绍了node.js – 将数据传递给node express中的视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用我的节点应用程序从API检索一些数据,并希望在视图中显示该数据,并允许用户在那里更改它.我正在调用api并得到一个 JSON响应,我想传递给视图.这是我正在做的事情:
var query = 'SELECT Id,OwnerId,ActivityDateTime,EndDateTime,WhatId,WhoId,Subject FROM Event WHERE OwnerId = \'' + user.userId + '\''  ;
    // execute the query and get response
    ...
    ...
    var ev = resp.records;
    res.render('index.html',{eventData : ev});

问题是当我想在我的视图中使用数据时,我得到一个未定义的错误.

如果我做:

<div id='Subject'>#{eventData.Subject}</div>

我得到#{eventData.Subject}的打印输出

尝试在JS中使用数据会返回一个未定义的错误

<script type="text/javascript">
    var mydata = #{eventData};
    </script>

经过一番搜索后,我找到了一篇建议先将其字符串化的帖子:

var mydata = !{JSON.stringify(eventData)};
    console.log(mydata);

在这里,我得到一个语法错误SyntaxError:missing:after property id”

我很确定我错过了一些基本的东西,并且不能为我的生活弄清楚.我发现很多文章的例子都解释了如何在Jade中做到这一点,但我不想使用Jade并使用文章中的建议导致“未定义”或“非法字符”错误.

我完全没有想法……帮忙?
TNX

解决方法

Jonathan Ong的评论实际上让我走上了正确的轨道.由于我使用的是html的客户处理程序,因此它不会解释任何变量.

我转而使用ejs:

// view engine ejs
     app.set('view engine','ejs');
     app.register('.html',require('ejs'));

并使用以下占位符:

<%= eventData.Subject %>

这实际上使我的数据显示出来.感谢所有的评论和答案!迈克尔

原文链接:https://www.f2er.com/nodejs/445724.html

猜你在找的Node.js相关文章