Estoy obteniendo datos en mi servidor desde una API externa, luego intento enviar esos datos a un archivo ejs usando JSON.stringify (datos) e intento leer los datos en el archivo ejs con JSON.parse (datos), pero no ya sea obteniendo algo como [Object object] o una cadena con muchos caracteres extraños, intenté usar replace, pero aún no funciona.
Esto es lo que tengo en el lado del servidor.
router.get("/api", (req, res) => { const info = { place: "London", country: "UK", temp: "16", weather: "Cloudy", }; res.render("weathery", { user: JSON.stringify(info) }); }Esto es lo que tengo en el lado del archivo ejs.
<script> var data = "<%= user %>"; const newData = data; console.log(newData); </script>Esto es lo que imprime sin usar JSON.parse
{"lugar":"Londres","país":"Reino Unido","temp":"16","clima":"Nublado"}
Intenté usar replace en los caracteres extraños como #,&,; y 34 y no funcionó, también eso daría lugar a un problema en algunos casos si estaba recibiendo algunos datos con el número 34
Cada vez que intentaba analizarlo, enviaba un error "Error de sintaxis no detectado: token inesperado y en JSON en la posición 1"
Espero que me puedas ayudar, que tengas un buen día :)
Cambia esto
var data = "<%= user %>"A esto:
var data = `<%- user %>`