variable res pass javascript json express ejs

javascript - express render pass variable



Express y ejs<%=para renderizar un JSON (2)

¡Atención!

Si el usuario puede crearse a través de llamadas API, <% - lo dejaría con una vulnerabilidad XSS grave. Las posibles soluciones se pueden encontrar aquí:

Pasar variables a JavaScript en ExpressJS

En mi index.ejs tengo este código:

var current_user = <%= user %>

En mi nodo tengo

app.get("/", function(req, res){ res.locals.user = req.user res.render("index") })

Sin embargo, en la página obtengo

var current_user = [object Object]

y si escribo

var current_user = <%= JSON.stringify(user) %>

Yo obtengo:

var current_user = {&quot;__v&quot;:0,&quot;_id&quot;:&quot;50bc01938f164ee80b000001&quot;,&quot;agents&quot;:...

¿Hay alguna forma de aprobar un JSON que sea legible por JS ?


Oh, eso fue fácil, no use <%= , use <%- lugar. Por ejemplo:

<%- JSON.stringify(user) %>

El primero se representará en HTML, el segundo representará variables (como son, eval)