除了更新,我能够完成CRUD操作,我猜想是流入updateTask函数的数据没有正确发生,我需要进行哪些纠正才能解决此问题?
我以id和标题的形式将数据发送给了updateTodo函数,但是它不起作用。
此代码在前端文件中。
updateTodo(id,title) {
axios.put(`http://localhost:4000/todos/${id}`,{title:this.todo.title}).then(() => {
this.getTodos();
this.isEditing = false;
});
}
这是与axios链接的后端中的代码。
router.route('/:id').put((req,res)=>{
Todo.findById(req.params.id,(err,todo)=>{
if(!todo){
res.send('Error fetching the todo.');
}else{
todo.title = req.body.title;
todo.save()
.then(todo=>{
res.json({'msg':'Todo updated successfully.'});
})
.catch(err=>{
res.send('the error in updating the task is ' + err);
})
}
})
})
更新功能可以在后端的put方法(通过邮递员检查)上正常工作,但不能从前端使用。
答案 0 :(得分:0)
updateTodo(todo) {
axios.put(`http://localhost:4000/todos/${todo._id}`,{title:todo.title}).then(() => {
this.getTodos();
this.isEditing = false;
});
}
在整个待办事项中发送,而不是分别发送ID和标题,这很不好,因为我在发布之前不进行检查。