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

Método Delete dando erro

       if (elementoClicado.dataset.type == 'remocao'){
            let livroId = elementoClicado.dataset.ref;
            console.log('Livro ID para remover = ' + livroId);
            fetch('http://localhost:3000/livros/'+ livroId, {method: 'DELETE'})
                .then(resposta => {
                    let tr = elementoClicado.closest('#livro_' + livroId);
                    tr.remove();
                })
                .catch(erro => console.log(erro));

Erro no console: remove-livros.js:9 DELETE http://localhost:3000/livros/5 404 (Not Found) (anonymous) @ remove-livros.js:9

4 respostas

Olá Wady, tudo bem com você?

Realmente não há nada de incorreto nesse trecho de código que você mandou, você poderia postar como está o seu arquivo rotas.js ?

Para verificar se a rota para deletar esta corretamente configurada da seguinte maneira:

    app.delete('/livros/:id', function(req, resp) {
        const id = req.params.id;

        const livroDao = new LivroDao(db);
        livroDao.remove(id)
                .then(() => resp.status(200).end())
                .catch(erro => console.log(erro));
    });

Abraços e Bons Estudos!

Olá Geovani, segue snippet do código rota.js: Obrigado

    app.delete('/livros:id', function(req, resp){
        console.log('DELETE request!!!');
        const id = req.params.id;
        console.log('Livro id para remover ' + id);
        const livroDao = new LivroDao(bd);
        livroDao.remove(id)
            .then(resp.redirect('/livros')) 
            .catch(erro => console.log(erro));
    });
solução!

Opa Wady!

Então, o problema está em como você definiu a sua rota de delete veja:

    app.delete('/livros:id', function(req, resp){

A nossa rota de delete é no formato localhost:3000/livros/id, faltou você separar o livro de id com uma /:)

Corrigindo para:

    app.delete('/livros/:id', function(req, resp){

Já deve fazer seu programa funcionar corretamente :)

Abraços!

Obrigado! Resolvido

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software