簡體   English   中英

如何將數組傳遞給Express中的ejs模板?

[英]How can I pass an array to an ejs template in express?

我正在嘗試將包含對象的數組傳遞給express中的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 ,並且未定義。

在第一個示例中,您還要轉義回顯的內容,因此請嘗試使用未轉義的字符串回顯,因為這將刪除實體。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM