【发布时间】:2013-12-03 17:59:55
【问题描述】:
{ text: undefined,
done: false,
_id: 529e16025f5222dc36000002,
__v: 0 }
PUT /api/todos/529e16025f5222dc36000002 200 142ms - 68b
尝试更新我的简单 CRUD 待办事项列表时,我不断收到此错误。当我提交更新时,更改不会出现在屏幕上,尽管 put 说它是 200。不知道要采取什么步骤,这样我就不会收到这个“未定义”错误,所以我可以显示更新在屏幕上。
编辑:包含更多代码
这是后端节点代码:
app.put('/api/todos/:_id', function(req, res) {
Todo.findById(req.params._id, function(err, todos){
todos.text = req.body.text;
console.log(todos);
todos.save(function() {
if (!err) {
res.send(todos);
} else if (err) {
res.send(err);
}
Todo.find(function(err, todos) {
if (err)
res.send(err);
res.json(todos);
});
});
});
});
这是 Angular 前端代码:
$scope.updateTodo = function(id) {
$scope.newItem = prompt("Please enter your new item:", "");
$http.put('/api/todos/' + id, {formData: $scope.newItem}).success(function(data) {
$scope.todos = data;
});
$http.get('/api/todos').success(function(data) {
$scope.todos = data;
});
};
【问题讨论】:
标签: javascript node.js mongodb angularjs crud