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 = {&quot;__v&quot;:0,&quot;_id&quot;:&quot;50bc01938f164ee80b000001&quot;,&quot;agents&quot;:...

有没有办法传递 JS 可读 的 JSON?

原文由 piggyback 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 481
2 个回答

哦,那很简单,不要使用 <%= ,而是使用 <%- 。例如:

  <%- JSON.stringify(user) %>

第一个将以 HTML 呈现,第二个将呈现变量(因为它们是 eval)

原文由 piggyback 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题