Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

161
Vistas
¿Por qué muestra que la función no está definida? Registra los resultados en la consola, solo estoy tratando de enumerar el nombre

Tengo un backend restAPI del que estoy tratando de obtener datos. Estoy usando NodeJS, pero por alguna razón, los datos se cargan en la consola como JSON, pero cuando intento imprimirlos en la nueva página web, aparece un error.

 TypeError: /Final part 2/views/pages/letseat.ejs:11 9| </div> 10| <!-- Right here it takes every value that we got back and then puts it into a list item --> >> 11| <% userlist.forEach(function(userlist) { %> 12| <ul class="list-group list-group-numbered"> 13| <input type="checkbox" name=<%= userlist.firstname %> 14| <li class="list-group-item"><%= userlist['firstname'] %>, By: <%= userlist['lastname' ]%> </li> Cannot read properties of undefined (reading 'forEach')

Pero obtengo los datos en JSON en la terminal.

 data: [ { firstname: 'John', lastname: 'Boyle', numberofplaces: null, user_id: 1 }, { firstname: 'Ruben', lastname: 'Holt', numberofplaces: null, user_id: 3 }, { firstname: 'Tim', lastname: 'Diaz', numberofplaces: null, user_id: 4 }, { firstname: 'Tony', lastname: 'Santiago', numberofplaces: null, user_id: 2 }, { firstname: 'Scully', lastname: 'Smith', numberofplaces: null, user_id: 5 } ]

La función que estoy usando para representar la página es

 <% userlist.forEach(function(songlist) { %> <ul class="list-group list-group-numbered"> <input type="checkbox" name=<%= userlist.firstname %> <li class="list-group-item"><%= userlist['firstname'] %>, By: <%= userlist['lastname' ]%> </li> </ul> <% }); %>

Por último, esta es la ruta API.

 app.get('/process_form', function(req, res){ // create a variable to hold the username parsed from the request body // Now we will use the token wiht the name that the user entered // For this we will use the axios method to return the result axios.get('http://127.0.0.1:5000/api/getuser') .then((response)=>{ var userlist = response.data.results; console.log(userlist); res.render('pages/letseat', { userlist: userlist });

¡Por favor, dame alguna orientación, he estado atascado en esto durante 3 horas!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Está tratando de acceder a una propiedad que no existe y está regresando que causó que no esté definida.

 var userlist = response.data.results // ^^^^^^^

response.data ya es una matriz que querías. Así que tienes que cambiar a

 var userlist = response.data
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda