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í:
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 = {"__v":0,"_id":"50bc01938f164ee80b000001","agents":...
¿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)