无法使用axios删除对象

时间:2018-10-12 16:58:19

标签: mongodb axios

我有一个函数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))
})

1 个答案:

答案 0 :(得分:0)

请尝试在服务器端使用req.params

  

因为axios的请求中正文中没有传递delete的参数。

Book.findOneAndDelete({isbn: req.params.isbn})
        .then(book => res.json(book))
        .catch(err => console.log(err.message))