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

167
Vistas
¿Cómo puedo hacer que los elementos de este archivo JSON se muestren correctamente?

Así que no estoy seguro de lo que estoy haciendo mal aquí. Tengo estos tres elementos de un servicio y está en formato JSON. Cuando escribo el ciclo para mostrar solo el nombre del artista y la canción, sigo recibiendo un error

Este es el comando API en server.js

 app.post('/process_form', function(req, res){ var search = req.body.search axios.get('https://itunes.apple.com/search?term='+search) .then((response)=>{ var songlist = response.data.results; console.log(songlist); res.render('pages/thanks.ejs', { songlist: songlist, search: search }); }); })

Este es el código para el formulario html donde el usuario puede ingresar el nombre de una canción o artista

 <form action="/process_form" method="post"> <h1>Which song would you like to lookup</h1> <div> <input type="text" id="search" name="search"> </div> <input type="submit">

Y este es el formulario donde los resultados se mostrarán en una lista.

 <ul> <% songlist.forEach(function(songlist) { %> <li> <strong><%= songlist[artistName] %></strong> <strong><%= songlist[TrackName] %></strong> </li> <% }); %> </ul>

Así es como se ve la fuente original de los datos.

 { wrapperType: 'track', kind: 'song', artistId: 216123617, collectionId: 982317323, trackId: 982317327, artistName: 'Rockabye Baby!', collectionName: 'Lullaby Renditions of Radiohead', trackName: 'Let Down', },

Por último, el error que me sale es ese. Estoy confundido en cuanto a por qué dice que no definí la lista de canciones

 5| <main> 6| <ul> >> 7| <% songlist.forEach(function(songlist) { %> 8| <li> 9| <strong><%= songlist[artistName] %></strong> 10| <strong><%= songlist[TrackName] %></strong> songlist is not defined

Lo siento por la publicación larga. Estoy súper frustrado con esto y no sé qué estoy haciendo mal.

EDITAR: estoy usando EJS como motor de vista

app.set('ver motor', 'ejs');

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

0

Encontré que la solución fue que cuando en realidad estaba procesando mi archivo de índice, puse

 res.render(index)

Cuando se suponía que el nombre del archivo era

 res.render(index.ejs)
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