在React with Axios中删除请求

时间:2017-10-29 19:13:53

标签: javascript node.js reactjs api axios

我试图在React中使用Axios发出删除请求。我的后端是节点。我无法通过axios正确传递数据。它成功地console.log(res) 并命中控制器给我Member sucessfully deleted消息。但是当我刷新我的页面时,记录仍然存在。我不知道造成这种情况的原因。 这是我的反应中的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);
};

2 个答案:

答案 0 :(得分:1)

尝试一下我尝试过的http://localhost:5000/api/members${memberId}并成功了,您可以问Jasser Abdel系统天使

答案 1 :(得分:0)

在mongoDb中从集合中删除文档似乎不推荐使用 remove()。试用 deleteOne()方法。 您可以在文档https://docs.mongodb.com/manual/reference/method/db.collection.deleteOne/#db.collection.deleteOne

中查看如何使用它