Dans mon index.ejs j'ai ce code:
var current_user = <%= user %>
Dans mon noeud j'ai
app.get("/", function(req, res){
res.locals.user = req.user
res.render("index")
})
Cependant, sur la page que j'obtiens
var current_user = [object Object]
et si j'écris
var current_user = <%= JSON.stringify(user) %>
J'obtiens:
var current_user = {"__v":0,"_id":"50bc01938f164ee80b000001","agents":...
Y at-il un moyen de passer un JSON qui sera JS lisible?
Oh, c'était facile, n'utilisez pas <%=
, utilisation <%-
au lieu. Par exemple:
<%- JSON.stringify(user) %>
Le premier rendra en HTML, le second rendra les variables (telles quelles, eval)
Attention!
Si l'utilisateur peut être créé via des appels d'API, <% - vous exposerait à une vulnérabilité XSS grave. Les solutions possibles peuvent être trouvées ici: