如何将数组传递给ejs模板?
我试图传递一个数组,其中包含对象的意见,快递的ejs,但它不起作用。
在服务器中,
var roominfo = function(roomname){ this.roomname=roomname; }; room_info_array= new Array(1); room_info_array[0]=new roominfo("room"); app.get("/", function(req, res){ res.render('login',{room_info:room_info_array}); });
在客户端,
<script type="text/javascript"> var data = <%= JSON.stringify(room_info) %> </script>
这显示错误“Uncaught SyntaxError:Unexpected token&”。
var data = [{"roomname":"room"}]"
我试过这个
<script type="text/javascript"> var data = <% JSON.stringify(room_info) %> </script>
但是这表明数据是未定义的。
我应该如何正确地将数组传递给ejs?
在EJS回应的东西已经完成
<%= %>
要么
<%- %>
在最后一个例子中,你没有回应任何东西,所以没有任何东西传递给data
,它是未定义的。
在第一个示例中,您还要转义回显的内容,因此请尝试使用回显未转义的string,因为这将删除实体。
var data = <%- JSON.stringify(room_info) %>
- 在node.js中获取json输出(使用elasticsearch和express作为web框架)
- 发布数据时发生超时错误
- Node.JS – 简单的Socket.IO示例不起作用。 获取debugging服务的静态内容/socket.io.js(Mac OSX / Localhost)
- express / node.js中的请求之间的同步问题
- 需要帮助消化使用express-handlebars node.js返回的JSON blob
- 为什么Express.js路由select不正确的路由?
- 发布一个base64图像Imgur
- 图像上传挂在移动浏览器,但不是在本地计算机上 – Node JS,Express
- Express导出类中的箭头函数 – 意外的令牌