use*_*018 3 javascript ejs node.js 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});
});
Run Code Online (Sandbox Code Playgroud)
在客户端,
<script type="text/javascript">
var data = <%= JSON.stringify(room_info) %>
</script>
Run Code Online (Sandbox Code Playgroud)
这显示错误"Uncaught SyntaxError:Unexpected token&".
var data = [{"roomname":"room"}]"
Run Code Online (Sandbox Code Playgroud)
我试过这个
<script type="text/javascript">
var data = <% JSON.stringify(room_info) %>
</script>
Run Code Online (Sandbox Code Playgroud)
但是,这表明数据未定义.
我应该如何正确地将数组传递给ejs?
在EJS回声中完成了一些事情
<%= %>
Run Code Online (Sandbox Code Playgroud)
要么
<%- %>
Run Code Online (Sandbox Code Playgroud)
在最后一个示例中,您没有回显任何内容,因此没有任何内容传递给data它,并且它未定义.
在第一个示例中,您还要转义回显的内容,因此请尝试使用未转义的字符串回显,因为这将删除实体.
var data = <%- JSON.stringify(room_info) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8267 次 |
| 最近记录: |