javascript - 如何将数组传递给 express 中的 ejs 模板?

标签 javascript node.js express ejs

我试图将一个包含对象的数组传递给 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 = [{&quot;roomname&quot;:&quot;room&quot;}]"

我试过了

<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/

相关文章:

node.js - 从 Electron 应用程序中设置服务器

javascript - 在ajax Jquery中发送多部分数据

javascript - Firebase 返回快照但无法访问值

javascript - 什么是 Node JS 的最佳 JSON 或 JS 对象到 XML 转换器模块

mysql - POST完成后如何从MySQL获取数据

javascript - Node.js 和 express + hbs - 将变量传递给模板时意外的标识符

javascript - Jquery slider 值不为零

JavaScript 函数不工作

node.js - YouTube API 类型错误 : callback is not a function

javascript - 在 Windows 8 中,我需要在哪里保存 Node.js 的 javascript 文件