axios.delete()未运行,然后阻止

时间:2019-05-04 15:48:57

标签: reactjs express axios http-delete

我有一个具有react,express和mongo的小型应用程序。 GET和POST请求与axios完美配合。 DELETE请求与后端一起使用,并实际上删除mongo数据库中的项目。代码段:

 deleteTodo = (event) => {
    const url = "http://localhost:4000/dashboard";
    const id = event.target.parentElement.getAttribute("data-id");
    const deleteUrl = `${url}/${id}`;

    axios.delete(deleteUrl)
        .then(res => {
            console.log("deleted")
        });
}

但是之后什么也没发生,我在控制台中没有收到“已删除”消息。我尝试了console.log,setState等,这些功能都没有在.then中触发。

1 个答案:

答案 0 :(得分:0)

我在server.js的delete方法中更改了代码,现在它以某种方式起作用了。发件人:

app.delete("/dashboard/:id", (req, res) => {
  const id = req.params.id;
  Item.findById(id)
    .then(item => item.remove())            
});

收件人:

app.delete("/dashboard/:id", (req, res) => {
  const id = req.params.id;
  Item.findById(id)
    .then(item => item.remove()
        .then(() => res.json({ success: true })))
    .catch(err => res.send("Error"))
});