传递数据在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 %>
这实际上使我的数据显示出来。 感谢所有的评论和答案! 迈克尔