Angularjs 将对象传入ngResource.save()的正确语法是什么?
我正在尝试将Angularjs 将对象传入ngResource.save()的正确语法是什么?,angularjs,mongodb,express,ngresource,Angularjs,Mongodb,Express,Ngresource,我正在尝试将项目对象传递到我的$resource函数中,该函数将项目保存到我的数据库中。但是,当我发送$resource.save(项目)时,它返回一个错误代码500内部服务器错误。项目验证失败。 这是一个非常标准的对象: var item = { "title": "Item Title", "desc": "Item Description" } 我的客户端控制器: App.controller('appCtrl', function($scope, $resource){
项目
对象传递到我的$resource
函数中,该函数将项目保存到我的数据库中。但是,当我发送$resource.save(项目)时,它返回一个错误代码500内部服务器错误。项目验证失败。
这是一个非常标准的对象:
var item = {
"title": "Item Title",
"desc": "Item Description"
}
我的客户端控制器:
App.controller('appCtrl', function($scope, $resource){
$scope.resourceUrl = $resource('http://localhost:3000/items');
$scope.postItem = function(item){
$scope.resourceUrl.save(item).$promise // Should item be passed in like this?
.then(function(data){ //success function
console.log('Posted item called ' + item.title);
},function(error){ //error function
console.log(error);
});
};
};
我的服务器端路由:
router.post('/items', function(req, res, next){
var item = new Item(req.body);
item.save(function(err, item){
if(err){return next(err)}
res.json(item);
});
});
当我在没有
项目的情况下尝试$scope.resourceUrl.save().$promise
时,它将发布一个项目,但没有数据。传递myitem
对象的正确语法是什么?$resource
为您的示例提供了一整套方法,这些方法都是多余的。只需将$http
用作$http.post('/someUrl',item,config.),然后(successCallback,errorCallback)代码>,请参阅。即使使用$http.post('/someUrl',data,config)。然后(successCallback,errorCallback)
给出了相同的错误。请尝试$scope.resourceUrl.save({},item)
@Chandermani,这也导致了相同的错误