【发布时间】: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