Duda nodejs y express

jotayepes

Buenas gente.

Alguien capisca de node, express y javascript?
Tengo una duda que no consigo resolver, y me da que tiene que ser una chorrada como un templo.

Os comento. Tengo un formulario con un textarea con el que estoy usando tinymce para que se le pueda dar formato al texto, el contenido de ese textarea se guarda en
una base de datos, digamos que la tabla se llama "X" y el campo en el se guarda es "TEXTO".
La cosa es, cuando recupero el objeto X y voy a visualizar el contenido del campo TEXTO <%= X.TEXTO %> eso se muestra en texto plano sin formato ninguno, por lo que se he guardado: "<p>Hola tio <br /> esto es una mierda</p>" en la web se muestra el texto "<p>Hola tio <br /> esto es una mierda</p>", no se interpretan ninguna de las etiquetas HTML.

Creo recordar de los años de estudio que con un innerHTML se podía hacer creo, pero usandolo sigue sin cogerme el formato.
¿Alguien sabe como se puede hacer?

Gracias.

pakuko

Debes de estar haciendo otra cosa mal porque con innerHTML funciona

<script>
var text = "<p>Hola tio <br /> esto es una mierda</p>";
document.getElementById("demo").innerHTML = text;
</script>
1 respuesta
jotayepes

#2 esta noche en casa vuelvo a mirarlo, si tal pego código porque no se que pasará... Gracias

B

#1 No he tocado en mi vida nodejs y express, pero tiene bastante pinta que lo que te está pasando es que en algún punto te está escapando/sanitizando el HTML.

Esto de sanitizar / escapar el HTML normalmente viene bien ya que si no tu página web es vulnerable a ataques XSS. (inyección de código javascript).

Este enlace te puede ser de utilidad, es sobre los métodos seguros e inseguros en JQuery:
https://coderwall.com/p/h5lqla/safe-vs-unsafe-jquery-methods.

Ya nos contarás, pero a priori tiene pinta de lo que te he comentado...

jotayepes

Ahora mismo lo tengo funcionando con innerHTML, con una chapucilla qe me he sacado por ahí, que no me gusta nada, pero ya cuando tenga todo funcionando miraré otra forma más elegante de hacerlo.

Lo que tengo ahora es lo siguiente, tengo un campo hidden en el que asigno el valor de lo devuelve la tabla,
y hago un innerHTML con el value del campo hidden, luego borro el hidden.

Es una chapuza total, pero bueno, de momento escapo así e investigaré más adelante como hacerlo de una forma correcta.

Creo que necesitaré algún middleware que permita modificar el DOM de la página cuando la renderiza.

Usuarios habituales