亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解AngularJs中$resource和restfu服務(wù)端數(shù)據(jù)交互

 更新時(shí)間:2016年09月21日 14:30:46   投稿:daisy  
之前小編和大家分享過使用$http同服務(wù)器進(jìn)行通信,但是功能上比較簡單,angularjs還提供了另外一個(gè)可選的服務(wù)$resource,使用它可以非常方便的同支持restful的服務(wù)單進(jìn)行數(shù)據(jù)交互。下面來一起看看吧。

$resource

創(chuàng)建一個(gè)resource對象的工廠函數(shù),可以讓你安全的和RESFUL服務(wù)端進(jìn)行數(shù)據(jù)交互。

安裝

ngResource模塊是一個(gè)可選的angularjs模塊,如果需要使用,我們要單獨(dú)引用js

<script type="text/javascript" src="/javascripts/angular-resource.js">

$resource應(yīng)用

我們并不是直接通過$resource服務(wù)本身同服務(wù)器通信,$resource是一個(gè)創(chuàng)建資源對象的工廠,用來創(chuàng)建同服務(wù)端交互的對象。

var User = $resource('/api/users/:userId', {userId:'@id'});

返回的User對象包含了同后端服務(wù)進(jìn)行交互的方法,我們可以把User對象理解成同RESTFul的后端服務(wù)進(jìn)行交互的接口。

該對象包含兩個(gè)get類型的方法已經(jīng)三個(gè)非get類型的方法。

User.get({id:'123'}, successFn, errorFn);

該方法向url發(fā)送一個(gè)get請求,并期望一個(gè)json類型的響應(yīng)。這里會(huì)向/api/users/123發(fā)送一個(gè)請求,successFn處理請求成功響應(yīng),errorFn處理錯(cuò)誤。

User.query(params, successFn, errorFn)

get()方法使用類似,一般用來請求多條數(shù)據(jù)。

save(params, payload, successFn, errorFn);

save方法會(huì)發(fā)起一個(gè)post請求,params參數(shù)用來填充url中變量,對象payload會(huì)作為請求體進(jìn)行發(fā)送

delete(params, payload, successFn,errorFn)

delete方法一個(gè)DELETE請求,payload作為消息體進(jìn)行發(fā)送

remove(params, payload, successFn, errorFn)

同delete類似,不同的是remove用來移除多條數(shù)據(jù)

通過$resource生成的對象來同服務(wù)器進(jìn)行交互的時(shí)候,我們看可以定義處理成功以及處理失敗的函數(shù),這些函數(shù)接受的參數(shù)不僅僅是簡單的對象,而是經(jīng)過包裝之后的對象,會(huì)被添加$save() , $remove() , $delete三個(gè)方法,可以直接調(diào)用這三個(gè)方法來后服務(wù)端進(jìn)行交互。

User.get({id:'123'}, function(user){
 user.name = 'changeAnotherName';
 user.$save();
//這里等價(jià)于User.save({id:'123'},{name:'changeAnotherName'})
});

$resource擴(kuò)展

$resource對常見的五種請求進(jìn)行封裝,我們還可以對$resource進(jìn)行擴(kuò)展。

這里要擴(kuò)展$resource我們需要傳入第三個(gè)參數(shù),該參數(shù)是一個(gè)對象。

$resource('/api/users',{},{
 sendEmail:{
  method:'',
  url:'',
  params:{},
  isArray:boolean,
  transformRequest:函數(shù)或者函數(shù)數(shù)組
  transformResponse:函數(shù)或者函數(shù)數(shù)組
  cache:布爾型或緩存對象
  timeout:數(shù)值或promise對象
  withCredentials:布爾類型
  responseType:字符串,用來設(shè)置XMLHttpRequestResponseType屬性
 }
})

我們也可以將$resource服務(wù)當(dāng)做自定義服務(wù)的基礎(chǔ)。

angular.module('testApp', ['ngResource']),factory('UserService',['$resource', function($resource){
  return $resource(url,{},{});
}]);

總結(jié)

以上就是關(guān)于AngularJs中$resource和restfu服務(wù)端數(shù)據(jù)交互的全部內(nèi)容,希望這篇文章對大家學(xué)習(xí)或者使用AngularJS能有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • Bootstrap + AngularJS 實(shí)現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能

    Bootstrap + AngularJS 實(shí)現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能

    這篇文章主要介紹了 Bootstrap + AngularJS 實(shí)現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能,代碼簡單易懂,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • ANGULARJS中用NG-BIND指令實(shí)現(xiàn)單向綁定的例子

    ANGULARJS中用NG-BIND指令實(shí)現(xiàn)單向綁定的例子

    這篇文章主要介紹了ANGULARJS中用NG-BIND指令實(shí)現(xiàn)單向綁定的例子,本文簡單介紹AngularJS框架后,用一個(gè)實(shí)例演示{{}}插值法和ng-bind指令的使用,需要的朋友可以參考下
    2014-12-12
  • 在 Angular 中使用懶加載路由的方法

    在 Angular 中使用懶加載路由的方法

    延遲加載是一種限制加載用戶當(dāng)前需要的模塊的方法,這可以提高應(yīng)用程序的性能并減小初始捆綁包大小,在本文中,您學(xué)習(xí)了如何在 Angular 應(yīng)用程序中使用惰性加載路由,本文分步驟講解的非常詳細(xì),感興趣的朋友一起看看吧
    2024-02-02
  • angularjs學(xué)習(xí)筆記之三大模塊(modal,controller,view)

    angularjs學(xué)習(xí)筆記之三大模塊(modal,controller,view)

    本文給大家記錄的是angularjs的三大模塊(modal,controller,view)的使用說明,方便初學(xué)者能夠順利的學(xué)習(xí)angularjs.
    2015-09-09
  • AngularJS入門教程之AngularJS表達(dá)式

    AngularJS入門教程之AngularJS表達(dá)式

    AngularJS應(yīng)用表達(dá)式是純javascript表達(dá)式,并輸出它們被使用的數(shù)據(jù)在那里。本文給大家介紹AngularJS入門教程之AngularJS表達(dá)式,對angularjs表達(dá)式相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    在Angular的原生指令中有這幾個(gè)指令用來控制元素的展示與否,ng-show/ng-hide/ng-if和ng-switch。在angular性能優(yōu)化中,我們也常常會(huì)用到它。這篇文章主要給大家介紹了在Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程,需要的朋友可以參考。
    2017-05-05
  • 詳解AngularJS ng-class樣式切換

    詳解AngularJS ng-class樣式切換

    本篇文章主要介紹了詳解AngularJS ng-class樣式切換,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • AngularJS實(shí)現(xiàn)注冊表單驗(yàn)證功能

    AngularJS實(shí)現(xiàn)注冊表單驗(yàn)證功能

    這篇文章主要為大家詳細(xì)介紹了AngularJS實(shí)現(xiàn)注冊表單驗(yàn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 簡述AngularJS的控制器的使用

    簡述AngularJS的控制器的使用

    這篇文章主要介紹了AngularJS的控制器的使用,文中給出了具體的用于HTML中的對象示例,需要的朋友可以參考下
    2015-06-06
  • AngularJS ng-controller 指令簡單實(shí)例

    AngularJS ng-controller 指令簡單實(shí)例

    本文主要介紹AngularJS ng-controller 指令,這里對ng-controller指令資料的整理,并附代碼示例和效果圖,有需要的朋友看下
    2016-08-08

最新評論