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) { 
        // 处理非成功的删除响应 
        }); 
         原文地址:http://www.itnose.net/news/144/6289094

  • 相关阅读:
    Jquery复习DAY1(jQuery 选择器 jQuery 样式操作 jQuery 效果)
    git知识
    简单分析vue计算属性和methods方法的区别
    vue生命周期
    elementUI的级联选择器Cascader 高度不匹配问题高度溢出错误
    .Net Core3.1 常用的服务注入
    判断是否为AJAX请求
    JWT权限验证
    CodeSmith介绍
    常见ORM介绍
  • 原文地址:https://www.cnblogs.com/liucong7708/p/6726347.html
Copyright © 2011-2022 走看看