我想在React中使用Axios将新文档发布到数据库。值得庆幸的是,我可以这样做,但我也希望在控制台上记录一条消息“已插入新帖子”。
这是我的前端代码:
newTodo(todo){
axios.post('/todo', {
title: todo.title,
description: todo.description
})
.then(function (response) {
console.log('New post has been inserted!');
})
.catch(function (error) {
console.log(error);
});
}
我的后端(Nodejs)
server.post('/todo', (req, res) => {
// Inserting new todo
var newTodo = new todo({
title: req.body.title,
description: req.body.description,
key: '',
date: moment().format('lll')
});
newTodo.save((e, savedTodo) => {
if(e){
console.log(e);
} else {
todo.findById(savedTodo._id, (e, foundTodo) => {
if(e) {
console.log(e);
} else {
foundTodo.key = foundTodo._id.toString();
foundTodo.save((e, updatedTodo) => {
if(e){
console.log(e);
} else {
console.log(updatedTodo);
}
});
}
})
}
})
});
请求成功但永远不会记录该消息。此外,没有记录错误。请告诉我我做错了什么或者是否有其他方法可以做到这一点。
答案 0 :(得分:5)
所以,每当你需要返回一个结果时,例如你需要返回:updatedTodo你需要使用:
res.send(updatedTodo)