Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

300
Visualizações
Definición y uso de un objeto pasado de Express a EJS

En mi controlador de ruta, paso un objeto (el objeto es el resultado de una consulta SELECCIONAR a la base de datos) a mi archivo ejs que se representa de la siguiente manera:

 const query = await pool.query('SELECT * FROM table'); const obj = query.rows(); response.render('/ejspage', { obj: obj });

En mi archivo ejs, intento asignar este objeto a una variable y recorrerlo:

 <script> var data = '<%= obj %>'; data.forEach(function(o) { console.log(o); } </script>

Esto provoca el siguiente error: Uncaught TypeError: obj.forEach is not a function

He intentado usar JSON.parse(obj) pero esto da como resultado el siguiente error Uncaught SyntaxError: Unexpected token o in JSON at position 1

También probé JSON.stringify(obj) para resolver el error sin suerte

Cuando imprimo la variable console.log(obj) obtengo:

 [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Sé que puedo usar javascript incrustado en ejs (cuando hago esto, puedo usar forEach() en obj muy bien) pero para mi propósito específico me gustaría hacerlo de la manera que se muestra (es decir, dentro de las etiquetas <script> ).

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

necesita usar JSON.stringify y JSON.parse

 <script> var data = JSON.parse('<%= JSON.stringify(obj) %>'); data.forEach(function(o) { console.log(o); } </script>

Descubrí que, en algunos casos, el JSON parse JSON de JSON stringify todavía daba error y me inspiré en una publicación que analizaba cookies.

 <script> var data = JSON.parse(decodeURIComponent('<%=encodeURIComponent( JSON.stringify(data) ) %>')) data.forEach(function(o) { console.log(o); } </script>

una alternativa es usar res.cookie pero está limitada a 4 MB

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda