在我的index.ejs中,我有这段代码:
var current_user = <%= user %>
在我的节点中我有
app.get("/", function(req, res){
res.locals.user = req.user
res.render("index")
})
然而,在我获得的页面上
var current_user = [object Object]
如果我写
var current_user = <%= JSON.stringify(user) %>
我获得:
var current_user = {"__v":0,"_id":"50bc01938f164ee80b000001","agents":...
有没有办法传递一个 JS可读
的JSON?答案 0 :(得分:166)
哦,这很容易,不要使用<%=
,而是使用<%-
。例如:
<%- JSON.stringify(user) %>
第一个将以HTML格式呈现,第二个将呈现变量(因为它们是eval)
答案 1 :(得分:3)
答案 2 :(得分:0)
如果像我一样,您的对象可以包含转义字符,例如/
或"
,请使用此更强大的解决方案
var current_user = <%- JSON.stringify(user).replace(/\\/g, '\\\\') %>