【问题标题】:Delete request in React with Axios使用 Axios 在 React 中删除请求
【发布时间】:2018-04-10 18:46:51
【问题描述】:

我正在尝试使用 Axios 在 React 中发出删除请求。我的后端是节点。我无法通过 axios 正确传递数据。它成功地console.log(res) 并点击控制器给我Member sucessfully deleted 消息。但是当我刷新页面时,记录仍然存在。我不知道是什么原因造成的。 这是我在 react 中的 axios 代码:

onDelete(memberId) {
    axios.delete('http://localhost:5000/api/members', {id: memberId})
        .then(res => {
            console.log(res)
            console.log('it works')
        })
        .catch(function (error) {
            console.log(error);
        });
}

我是这样称呼它的:

<Table.Body>
    {this.state.members.map(member =>
        <Table.Row key={member._id}>
            <Table.Cell>{member.name}</Table.Cell>
            <Table.Cell>{member.email}</Table.Cell>
            <Table.Cell> <Button icon='remove user' onClick={() => this.onDelete(member._id)}/></Table.Cell>
        </Table.Row>
    )}
</Table.Body>

这是我的控制器:

exports.delete_a_member = function (req, res) {
    console.log(req.params);
    Member.remove({
        _id: req.params.memberId
    }, function (err, member) {
    if (err)
        res.send(err);
    res.json({message: 'Member successfully deleted!!'});
    });
};

这是我的路线:

module.exports = function(app) {
    var members = require('../controllers/membersController');

    app.route('/api/members')
        .get(members.list_all_members)
        .post(members.create_a_member)
        .delete(members.delete_a_member);
};

【问题讨论】:

  • 如果if (err) 则返回消息 - 就像出现错误一样。你的逻辑是倒退的。记录错误中的内容。
  • 我会为remove 回调提供两个单独的路径。现在,无论是否有错误,res.json({message: 'Member... 都会触发。

标签: javascript node.js reactjs api axios


【解决方案1】:

试试这个http://localhost:5000/api/members${memberId}我试过了,它成功了,你可以问系统天使 Jasser Abdel

【讨论】:

    【解决方案2】:

    似乎 remove() 在从 mongoDb 的集合中删除文档时已被弃用。试试 deleteOne() 方法。 您可以在文档https://docs.mongodb.com/manual/reference/method/db.collection.deleteOne/#db.collection.deleteOne 中查看如何使用它

    【讨论】:

    • 嘿,谢谢!这是一件值得注意的事情。我试过了,但它仍然不适合我。但这对我来说是一件非常好的事情。谢谢:-)
    猜你喜欢
    • 2018-12-24
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2021-08-24
    • 2019-01-20
    • 2020-05-31
    • 2022-12-21
    相关资源
    最近更新 更多