Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

HELP

Como apresentado em aula, o objetivo era conseguir remover um livro. A minha aplicação está removendo, porem, aparece o seguinte erro no console:

remove-livro.js:13 Uncaught TypeError: fetch(...).then(...).cath is not a function at HTMLTableElement.tabelaLivros.addEventListener (remove-livro.js:13) tabelaLivros.addEventListener @ remove-livro.js:13 remove-livro.js:7 DELETE http://localhost:3000/livros/3 500 (Internal Server Error)

ME AJUDEM A RESOLVER?

6 respostas

Segue código para remover livros

let tabelaLivros = document.querySelector('#livros');
tabelaLivros.addEventListener('click', (evento) => {
    let elementoClicado = evento.target;

    if (elementoClicado.dataset.type == 'remocao') {
        let livroId = elementoClicado.dataset.ref;
        fetch(`http://localhost:3000/livros/${livroId}`, {method: 'DELETE'})
        .then (resposta => {

            let tr = elementoClicado.closest(`#livro_${livroId}`);
            tr.remove();
        })
        .cath(erro => console.log(erro));

    }

});
solução!

Olá, Lurian! Como vai, minha aluna?

Agora sim, cheguei em tempo para te ajudar a sair dessas densas trevas!

Veja que no log de erro que vc postou já está sendo avisado que fetch(...).then(...).cath is not a function. Isso está acontecendo pois o correto é escrever catch e não cath.

Sendo assim, o código correto é o visto nessa atividade o qual eu já adianto aqui pra vc:

// remove-livro.js

let tabelaLivros = document.querySelector('#livros');
tabelaLivros.addEventListener('click', (evento) => {
    let elementoClicado = evento.target;

    if (elementoClicado.dataset.type == 'remocao') {
        let livroId = elementoClicado.dataset.ref;
        fetch(`http://localhost:3000/livros/${livroId}`, { method: 'DELETE' })
            .then(resposta => {

                let tr = elementoClicado.closest(`#livro_${livroId}`);
                tr.remove();

            })
            .catch(erro => console.log(erro)); 

    }

});

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, minha aluna!

Perdoe-me a demora para responder!!! Mas MUITISSIMO obrigada Professor, você é demais. Meu preferido, aula descontraída e muito didática. Obrigada pela ajuda :D

Professor, esqueci de perguntar a respeito do seguinte erro:

DELETE http://localhost:3000/livros/1 500 (Internal Server Error) remove-livro.js:7

depois que arrumei o "catch" ainda aparece esse erro!!! :/

Consegui arrumar esse erro, mas um detalhe que notei é que quando clico em "editar" não aparece o formulário com "titulo" e "preço" preenchido :/ E a aula 5 atividade 6 quando acesso o meu formulário, não está aparecendo o erro que o senhor fala na aula :/ Oque seria?

Mas MUITISSIMO obrigada Professor, você é demais. Meu preferido, aula descontraída e muito didática. Obrigada pela ajuda :D

Por nada, minha aluna! Fico feliz de poder ler essas suas alegres palavras e saber que suas expectativas tem sido atendidas! Inclusive, posso adiantar que já tem um curso de Node novinho em folha que acabou de sair do forno e que vc poderá fazer ao término dessa parte 1!

É o Node.js Parte 2: MVC, autenticação e autorização onde eu irei me aprofundar um pouco mais nessa nossa querida plataforma Node e mostrar boas práticas de desenvolvimento como o famoso MVC!

Consegui arrumar esse erro, mas um detalhe que notei é que quando clico em "editar" não aparece o formulário com "titulo" e "preço" preenchido :/

Vc poderia colar aqui o conteúdo dos seus arquivos lista.marko e form.marko pra eu dar uma olhada?

E a aula 5 atividade 6 quando acesso o meu formulário, não está aparecendo o erro que o senhor fala na aula :/ Oque seria?

O que acontece quando vc acessa a url /livros/form? Vc poderia colar aqui o conteúdo do seu arquivo rotas.js pra eu dar uma olhada?