Итак, у меня есть следующий маршрутизатор в файле мопса с именем книги.js, в этом маршрутизаторе я использую Sequelize ORM, чтобы найти строку данных на основе идентификатора, чтобы удалить
/* - Deletes a book. Careful, this can’t be undone.
It can be helpful to create a new “test” book to test deleting.
create the post /books/:id/delete route*/
router.post('/:id/delete', function(req, res, next){
Book.findOne({where: {id: req.params.id}}).then(function(book){
return book.destroy();
}).then(function(){
res.redirect('/books/');
})
});
это форма внутри файла pug с именем обновление-book.pug, где у меня есть кнопка, которая после нажатия должна удалить строку данных и перенаправить на /books
form(action = "/books/" + book.id , method = "post" onsubmit = "return confirm('Do you really want to delete this book?');")
Как только я нажимаю кнопку удаления, я получаю код состояния 200 (ok), но мой браузер остается на той же странице.
может кто-нибудь помочь? для справки это мой репозиторий https://github.com/SpaceXar20/sql_library_manager-обновлено



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы определили форму с методом «POST», а ваш маршрутизатор ожидает метод «DELETE». Поэтому либо измените свой маршрутизатор, чтобы он принимал метод «POST», либо сделайте запрос AJAX с методом «DELETE».
router.delete('/:id/delete', async (req, res, next) => {
let book = await Book.findOne({where: {id: req.params.id}}).catch(e => {
console.info(e.message)
})
if (!book){
console.info("err");
}
book.destroy();
res.redirect('/books');
});я изменил свой пост
Зачем использовать два отдельных запроса, когда внутри функции уничтожения сиквела можно поместить условие? А в ответ получаешь количество удаленных записей и можешь поставить там галочку, удалилось что-то или нет.
поскольку вы используете оператор возврата, ваш код должен быть:
try{
await Book.destroy({where:{id:req.params.id})
res.redirect('/')
}
catch(e){
console.info(e)
// handle error better
}
также не нужно искать и потом удалять этот запрос находит и удаляет автоматически
Я обновил свой пост, я изменил свой код, но у меня все еще есть некоторые проблемы