Ao cadastrar um novo cliente aparece na lista undefined tanto no nome como no email. Imagino que o erro esteja no db.json pois quando consulto ele só aparece um novo "id", como faço para arrumar?
ATÉ 50% OFF
TÁ ACABANDO!
0 dias
0 horas
0 min
0 seg
Ao cadastrar um novo cliente aparece na lista undefined tanto no nome como no email. Imagino que o erro esteja no db.json pois quando consulto ele só aparece um novo "id", como faço para arrumar?
eae carol, na paz?
ta dando erro pq o "id" não foi definido ainda lá na função "criaNovaLinha", ele já está no db.json, entretanto o professor não explicou essa parte. Portanto, dentro da constante, basta vc colocar após o email o id, no fim ficará assim:
const criaNovaLinha = (nome, email, ***id***)Mas não é só isso, vc também deve ir no seu data.foreach que é aonde está pegando o array e vendo os objetos dentro dele, e adicionar elemento.id
data.forEach((element) => {
tabelaCliente.appendChild(
criaNovaLinha(element.nome, element.email, ***element.id***)
);
});O meu código está diferente pq eu usei palavras diferentes, então aconselho não copia-lo, porém é a mesma lógica, espero ter ajudado :)
Fala Pessoal! Tudo bem? Eu tive o mesmo problema, quebrei bastante a cabeça. No final das contas, o que estava errado no meu código era só um erro de ortografia no headers. Dá uma conferida lá carol, o seu fetch deve estar assim:
const clientCreate = (name, email) => {
return fetch (`http://localhost:3000/profile`, {
method: 'POST',
headers: {
'Content-Type' : 'application/json' // APPLICATION É COM DOIS P's
},
body: JSON.stringify({
nome: name,
email: email
})
})
.then( response => {
return response.body;
})
}Meu erro estava aquiheaders: { 'Content-Type' : 'application/json' // APPLICATION É COM DOIS P's },
Neste caso, o problema não tem ligação com o id pois ele é gerado pelo json server no momento do POST. Espero ter ajudado. Bons estudos!