zoukankan      html  css  js  c++  java
  • AngularJS中使用$resource

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

      1)我们首先需要引入ng-Resource  模块,在angular之后

      <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的后端服务进行交互的接口。

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

  • 相关阅读:
    1143 Lowest Common Ancestor (30)
    PAT 1135 Is It A Red-Black Tree
    PAT 1119 Pre- and Post-order Traversals
    1102 Invert a Binary Tree(25 分)
    PAT总结
    c++ getline的用法
    PAT 1049 Counting Ones (30)
    PAT 1022 Digital Library (30)
    java jar包
    NIO的理解
  • 原文地址:https://www.cnblogs.com/tzz-ing/p/5821849.html
Copyright © 2011-2022 走看看