1. ホーム
  2. javascript

[解決済み] Express と ejs <%= による JSON のレンダリング

2023-05-28 13:21:57

質問

私の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;:...

となるようなJSONを渡す方法はありますか? JS可読 ?

どのように解決するのですか?

簡単でしたね。 <%= を使うのではなく <%- を使います。例えば

 <%- JSON.stringify(user) %>

最初のものはHTMLでレンダリングし、2番目のものは変数を(そのままevalで)レンダリングします。