传递数据在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> 

经过一番search,我发现一个post,build议先将其串联起来:

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

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

我很确定我错过了一些基本的东西,不能为我的生活弄清楚。 我发现很多文章的例子解释了如何在Jade中完成,但我不想使用Jade,并使用文章中的build议导致“undefined”或“illegal character”错误。

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

Jonathan Ong的评论实际上使我走上了正轨。 由于我使用的客户处理程序的HTML,它不会解释任何variables。

我切换到使用ejs:

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

并使用以下占位符:

  <%= eventData.Subject %> 

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