①GET请求: get(params,successFn,errrorFn)
不定义具体的参数,get()请求通常被用来获取单个资源。
//GET /api/users User.get(function(resp){ //处理成功 },function(err){ //处理错误 }); 如果参数中传入了具名参数(我们例子中的参数是id),那么get()方法会向包含id的URL发送请求: //发起一个请求:GET-->/api/users/123 User.get({id:'1234'},function(resp){ //success },function(error){ //fail }); ②QUERY 请求:query向指定URL发送一个GET请求,并期望返回一个JSON格式的资源对象集合。 //发起一个请求 User.query(function(users){ //读取集合中的第一个用户 var user=users[0]; }); query()和get()方法之间唯一的区别是AngularJS期望query()方法返回数组。
//发送一个请求 with the body {name: 'Ari'}
User.save({},{name:'Ari'},function(resp){ },function(error){ }); 2. delete(params, payload, successFn, errorFn) delete方法会向指定URL发送一个DELETE请求,并用数据体来生成请求体。它被用来在服务器上删除一个实例: // DELETE /api/users User.delete({}, { id: '123' }, function(response) { // 处理成功的删除响应 }, function(response) { // 处理非成功的删除响应 }); 3. remove(params, payload, successFn, errorFn) remove方法和delete()方法的作用是完全相同的,它存在的意义是因为delete是JavaScript的保留字,在IE浏览器中会导致额外的问题。 // 发起一个请求: // DELETE /api/users User.remove({}, { id: '123' }, function(response) { // 处理成功的删除响应 }, function(response) { // 处理非成功的删除响应 }); 除了上面的固定格式的五种操作以外,我们可以根据灵活设计url和参数传递,如下面这个例子 //@的作用是使用资源实例调用时,@id对应的是实例的属性id // 在参数一般名称匹配对应是路径参数,不匹配的参数url参数 return $resource('rest/news/:id/:action', {id: '@id'}, { pager : { method : 'GET', params : { 'action' : 'pager' }, }, });