2014-07-06 57 views
2

我想傳遞一個包含對象的數組,其中包含對象在快遞的意見,但它不起作用。如何將數組傳遞給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> 

這顯示錯誤 「未捕獲的SyntaxError:意外的標記&」。

var data = [{&quot;roomname&quot;:&quot;room&quot;}]" 

我想這

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

然而,這表明數據是不確定的。

我應該如何正確地將數組傳遞給ejs?

回答

4

在EJS呼應的東西與

<%= %> 

<%- %> 

做在你沒有任何呼應的最後一個例子,所以沒有被傳遞到data,它是不確定的。

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

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

謝謝,它的工作! – user3119018