我在创建项目时遇到问题并保存,正常创建,但问题是这样,如果我再次单击SAVE,则创建一个新项目,而不是在此更新中完成甚至创建的项目。
我使用RESTangular和mongodb,却找不到解决方法,因为服务器没有给我任何回复。我试图获取项目的副本,但因为ID等于服务器拒绝。
$scope.section = $stateParams.section;
// create new object item
$scope.item = ApiRestangular.one($scope.section);
$scope.addItem = function(){
$scope.item.save().then(function(){
toast.msgToast($scope.section + ' ...item criado!');
}, function(err){
toast.msgToast($scope.section + ' ...ocorreu um erro ao criar o item!');
});
};
答案 0 :(得分:0)
Put或Post操作(更新或保存)应返回已保存的项目。将$scope.item
替换为返回值,它应该第二次更新。如果没有,请明确调用.post
或.put
$scope.addItem = function(){
$scope.item.save().then(function(response){
$scope.item = response.data;
toast.msgToast($scope.section + ' ...item criado!');
}, function(err){
toast.msgToast($scope.section + ' ...ocorreu um erro ao criar o item!');
});
};
此外,您首先保存的对象通常没有更新它所需的ID。返回的值应具有此ID。