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

167
Visualizações
Obteniendo datos con Vanilla Javascript y mostrándolos en html

Ok, estoy tratando de consumir una API simple y recorrer todos los datos que recibí y mostrarlos en html. Me estoy tropezando con algo simple y no puedo entender dónde estoy cometiendo el error.

Actualmente obtengo los datos con fetch , sin embargo, cuando trato de mostrar esos datos en html , solo obtengo el primer objeto en la array no todos los objetos.

Me gustaría obtener una lista de todas las publicaciones en mi html.

Gracias por adelantado

 <!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta http-equiv='X-UA-Compatible' content='IE=edge'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> </head> <body> <div class="d-flex justify-content-center"> <div class="spinner-border" role="status" id="loading"> <span class="sr-only">Loading...</span> </div> </div> <h1>List of Posts</h1> <section id="section"> <ul id='posts'></ul> </section> </body> <script> const API_URL = `https://jsonplaceholder.typicode.com` async function fetchPosts() { const response = await fetch(`${API_URL}/posts`) let data = await response.json() // console.log(data) if (response) { hideloader(); } show(data) } function hideloader() { document.getElementById('loading').style.display = 'none'; } function show(data) { console.log(data, ' inside show') const ul = document.getElementById('posts') const list = document.createDocumentFragment(); let li = document.createElement('li'); let title = document.createElement('h1'); let body = document.createElement('p') data.map(function (post) { title.innerHTML = `${post.title}`; body.innerHTML = `${post.body}`; li.appendChild(title); li.appendChild(body); list.appendChild(li); // console.log(list) // console.log(li) }) ul.appendChild(list); } fetchPosts() </script> </html>

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

0

En la función show(data) , cuando mapeas los data , title.innerHTML y body.innerHTML se reasignan constantemente. Debe crear el title de la list y los elementos del body en la iteración.

 function show(data) { const ul = document.getElementById('posts'); const list = document.createDocumentFragment(); data.map(function (post) { let li = document.createElement('li'); let title = document.createElement('h1'); let body = document.createElement('p'); title.innerHTML = `${post.title}`; body.innerHTML = `${post.body}`; li.appendChild(title); li.appendChild(body); list.appendChild(li); }); ul.appendChild(list); }
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