AngularJS中使用$resource

 这个服务能够建立一个资源对象,咱们能够用它很是方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一块儿工做时,它就派上用场了。    
  REST是Representational State Transfer(表征状态转移)的缩写,是服务器用来智能化地提供数据服务的一种方式   
     后端

  1)咱们首先须要引入ng-Resource  模块,在angular以后api

  <script src="js/vendor/angular.js"></script> 数组

  <script src="js/vendor/angular-resource.js"></script>浏览器

 

  2) 在咱们的应用中须要将其当作依赖进行引用 
  angular.module('myApp', ['ngResource']); 
  
  3)如何使用? 
  $resource服务自己是一个建立资源对象的工厂,返回的$resource对象中包含了同后端服务器进行的交互的高层API. 
  
    var User=$resource('/api/users/:userId',{userId:'@id'}); 服务器

    能够把User对象理解成同RESTful的后端服务进行交互的接口。spa

 

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

 

   

【非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) {     // 处理非成功的删除响应     }); 

相关文章
相关标签/搜索