Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro no console

Segui o que o instrutor fez mas o erro permanece. Se alguém puder me ajudar.

const criaNovaLinha = (nome, email) => { const linhaNovoCliente = document.createElement('tr') const conteudo = `

${nome}${email}
` linhaNovoCliente.innerHTML = conteudo return linhaNovoCliente }

const tabela = document.querySelector('[data-tabela]')

const http = new XMLHttpRequest()

http.open('GET', 'http://localhost:3000/profile')

http.send()

http.onload = () => { const data = JSON.parse(http.response) data.forEach(elemento => { tabela.appendChild(criaNovaLinha(elemento.nome,elemento.email)) }); }

No console mostra o seguinte erro:

Uncaught TypeError: data.forEach is not a function at http.onload (cliente-service.js:29:9)

1 resposta
solução!

Olá Priscila, tudo bem?

Desculpe a demora em retornar.

Pelo erro apresentado no console, parece que a variável "data" não é um array, por isso o método forEach não pode ser utilizado. Verifique se o retorno da requisição está realmente sendo um array.

Uma forma de garantir que o retorno seja um array é fazer a verificação com o método Array.isArray(). Ficaria assim:

http.onload = () => {
   const data = JSON.parse(http.response)
   if(Array.isArray(data)){
     data.forEach(elemento => {
       tabela.appendChild(criaNovaLinha(elemento.nome,elemento.email))
     });
   } else {
     console.log("O retorno não é um array")
   }
}

Um abraço e bons estudos.