var current_user = {"__v":0,"_id":"50bc01938f164ee80b000001","agents":...
¿Hay alguna manera de pasar un JSON que será JS legible?
a cuestas
Oh, eso fue fácil, no uses <%=usar <%- en cambio. Por ejemplo:
<%- JSON.stringify(user) %>
El primero se renderizará en HTML, el segundo renderizará variables (tal como son, eval)
Respuesta correcta, pero solo para precisar, es <%-JSON.stringify(user)%> el que hace la magia.
-Pierre Maoui
31 de enero de 2014 a las 11:29
¿Se usa realmente la función eval, o está dando a entender que los resultados son similares a si se llamara a eval? Tengo curiosidad, porque como todos sabemos, eval es…
– NicholasFolk
2 mayo 2015 a las 22:30
Bien, debido a mi curiosidad, me sumergí y descubrí que, de hecho, usa eval(). También debo agregar que sé que es un dicho que se repite a menudo y que eval no es necesariamente malvado, simplemente se usa mal con facilidad. Tenía que mencionar que antes inspiré cierta ira entre las masas.
– NicholasFolk
2 mayo 2015 a las 22:33
usuario732456
¡Atención!
Si el usuario se puede crear a través de llamadas API, <%- lo dejaría con una grave vulnerabilidad XSS. Las posibles soluciones se pueden encontrar aquí:
Pasar variables a JavaScript en ExpressJS
si, como yo, su objeto puede incluir un carácter escapado como / o " entonces use esta solución más robusta
var current_user = <%- JSON.stringify(user).replace(/\\/g, '\\\\') %>
Esto funcionará ahora en la última versión de Express
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información