我想使用post方法通过angular ngResource来保存数据。 我已经为这个过程编写了以下代码。但是,当我试图坚持下去 错误即将来临。
JS CODE
angular.module('app').factory("testService", function($resource) {
return{
addCount: $resource('/save/count',{method:'POST',params:{ date: '@date',
count: '@count'}}
)
};
});
//控制器代码
$scope.add = function(){
testService.addCount().get({ date: new Date(formattedDate).toString("MM/dd/yyyy"),
count: count},function(response){
console.log('success')
});};
当我从我的html单击add()时,我收到以下错误。 TypeError:无法读取属性' get'未定义的
请提供解决此问题的建议
答案 0 :(得分:0)
RESTful服务应基于每个实体。因此,路由应该只是/Count
或api/Count
取决于您设置API端点的方式。
然后当您使用$resource
时,只需将其指向您的终端并让$resource
处理发布等。
$resource
遵循HTTP动词背后的含义。因此GET
应获取一些数据,POST
应保存数据,PUT
应更新,DELETE
应删除等。
$scope.add = function(){
var Count = $resource('/count');
Count.save({
date: new Date(formattedDate).toString("MM/dd/yyyy"),
count: count
}, function() {
// success
});
};
这就是我看到自己使用$resource
的方式。您始终可以将Count
的创建抽象为您创建的服务。
因此,当您致电$resource('some/route');
时,它将返回包含以下方法的对象:
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'} };
如您所见,save
是POST
方法。因此,要调用它,请参考$resource('some/route');
,如:
var Count = $resource('some/route');
然后你调用一个方法。
对于HTTP GET"类"动作:Resource.action([参数], [成功],[错误])
对于非GET"班级" actions:Resource.action([parameters],postData, [成功],[错误])
对于非GET实例操作:instance。$ action([parameters], [成功],[错误])
据我了解,类意味着引用Count
,实例意味着您的类已被执行并且您已收到该对象。该对象是instance