angularjs$resource的5种基本操作方法

    xiaoxiao2021-12-15  34

    get,save,query,delete,remove五种基本操作详解及扩展

    【HTTP GET类型的方法】

      ①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()方法返回数组。   

     

       

    【非HTTP GET类型的方法】     

      1. save(params, payload, successFn, errorFn)    save方法向指定URL发送一个POST请求,并用数据体来生成请求体。save()方法用来在服务器上生成一个新的资源。 payload:代表请求发送的数据体 

       //发送一个请求 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' }, }, });
    转载请注明原文地址: https://ju.6miu.com/read-1000381.html

    最新回复(0)