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

104
Visualizações
No se pueden mostrar las imágenes de una API

Estoy usando una API para obtener información para una base de datos. Quiero que las imágenes se muestren a la derecha del texto, pero las imágenes no se muestran en absoluto. Probé varias teclas diferentes y todavía nada. Así es como se ve actualmente: ingrese la descripción de la imagen aquí

Las imágenes no se muestran como se puede ver.

Aquí está el JS (está extrayendo los datos de aquí https://api.tvmaze.com/shows/347/episodes ):

 // DATABASE const sunnyList = document.getElementById('sunnyList'); let sunnyInfo = []; searchBar.addEventListener('keyup', (e) => { const searchTarget = e.target.value.toLowerCase(); const filteredSunny = sunnyInfo.filter(sunny => { return sunny.name.toLowerCase().includes(searchTarget) || sunny.airdate.toLowerCase().includes(searchTarget) || sunny.airtime.includes(searchTarget) }); displayInfo(filteredSunny); }); const loadLayout = async () => { try { const res = await fetch('https://api.tvmaze.com/shows/347/episodes'); sunnyInfo = await res.json(); displayInfo(sunnyInfo); } catch (err) { console.error(err); } }; const displayInfo = (sunny) => { const htmlString = sunny .map((sunny) => { return ` <li class="character"> <div class="detail"> <h2>${sunny.name}</h2> <p>Season ${sunny.season} Episode ${sunny.number}</p> <p>${sunny.airdate}</p> <p>${sunny.airtime}</p> <p>${sunny.rating.average}</p> </div> <img src="${sunny.image}"></img> </li> `; }) .join(''); sunnyList.innerHTML = htmlString; }; loadLayout();

He probado sunny.image.medium y sunny.image.original pero sigue sin aparecer.

Cualquier ayuda es apreciada :)

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

0

La image no es una cadena de URL, sino un objeto con la siguiente forma:

 { medium: string, original: string }

donde ambas cadenas contienen las URL de las imágenes reales.

Para su caso de uso, el medium probablemente tenga más sentido, por lo que puede hacer esto:

 <img src="${sunny.image?.medium}"></img>

Editar

Se agregó un encadenamiento opcional porque algunos elementos no tienen propiedad de image .

about 4 years ago · Juan Pablo Isaza Relatório

0

El problema al que te enfrentas es que no todos los objetos tienen imágenes.

Por favor, prueba este código:

 const displayInfo = (sunny) => { const htmlString = sunny .map((sunny) => { const img = sunny.image ? sunny.image.medium : "https://picsum.photos/200/300" return ` <li class="character"> <div class="detail"> <h2>${sunny.name}</h2> <p>Season ${sunny.season} Episode ${sunny.number}</p> <p>${sunny.airdate}</p> <p>${sunny.airtime}</p> <p>${sunny.rating.average}</p> </div> <img src=${img} /> </li> `; }) .join(''); sunnyList.innerHTML = htmlString; };
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