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?
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!