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) {     // 處理非成功的刪除響應     }); 

相關文章
相關標籤/搜索