如何将数组传递给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 = [{&quot;roomname&quot;:&quot;room&quot;}]" 

我试过这个

 <script type="text/javascript"> var data = <% JSON.stringify(room_info) %> </script> 

但是这表明数据是未定义的。

我应该如何正确地将数组传递给ejs?

在EJS回应的东西已经完成

 <%= %> 

要么

 <%- %> 

在最后一个例子中,你没有回应任何东西,所以没有任何东西传递给data ,它是未定义的。

在第一个示例中,您还要转义回显的内容,因此请尝试使用回显未转义的string,因为这将删除实体。

 var data = <%- JSON.stringify(room_info) %>