我试图将一个包含对象的数组传递给 express 中的 ejs View ,但它不起作用。
在服务器中,
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
并且它是未定义的。
在第一个示例中,您还转义了回显的内容,因此请尝试使用回显未转义的字符串,因为这将删除实体。
var data = <%- JSON.stringify(room_info) %>
关于javascript - 如何将数组传递给 express 中的 ejs 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24592760/