我有一个函数deleteBook
,该函数通过axios将数据发送到服务器以进行删除。
数据登录deteBook
函数,但不会在数据库中删除。
组件
deleteBook = () => {
const existingBook = {
id: this.props.data[0]._id,
title: this.props.data[0].title,
author: this.props.data[0].author,
isbn: this.props.data[0].isbn,
// noOfCopies: this.state.noOfCopies,
};
console.log(existingBook);
axios.delete('/api/book/delete', existingBook)
.then(res => console.log(res))
.then(this.toggleAlertSuccess)
.catch(this.toggleAlertFail);
}
服务器
router.delete('/delete', (req, res) => {
Book.findOneAndDelete({isbn: req.body.isbn})
.then(book => res.json(book))
.catch(err => console.log(err.message))
})
答案 0 :(得分:0)
请尝试在服务器端使用req.params
。
因为
axios
的请求中正文中没有传递delete
的参数。
Book.findOneAndDelete({isbn: req.params.isbn})
.then(book => res.json(book))
.catch(err => console.log(err.message))