Express和ejs <%=呈现JSON
在我的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":...
有没有办法通过一个JSON,将JS可读 ?
哦,那很容易,不要用<%=
,而是用<%-
。 例如:
<%- JSON.stringify(user) %>
第一个将以HTML呈现,第二个呈现variables(因为它们是eval)
注意!
如果用户可以通过API调用创build,<% – 会给您带来严重的XSS漏洞。 可能的解决scheme可以在这里find
在ExpressJS中将variables传递给JavaScript