国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

18.2.在Flex程序之間使用RESTful通信

2024-04-27 13:52:25
字體:
供稿:網(wǎng)友
18.2.1. 問題
我想要整合一個Flex 應(yīng)用程序和一臺使用RESTful 或者表述性狀態(tài)轉(zhuǎn)移風(fēng)格通訊的服務(wù)器,例如Rails 或者其他服務(wù)器。
18.2.2. 解決辦法
創(chuàng)建一個HTTPService 對象來使用合適的路徑通過POST 和GET 方法和你的服務(wù)器通訊,呼叫遠(yuǎn)端服務(wù)器上的方法。
18.2.3. 討論
所謂RESTful 的服務(wù)一般被用來描述一個服務(wù)使用所有4 個可能的HTTP 頭:PUT,POST,DELETE 以及GET。這四個頭通常對應(yīng)四種基礎(chǔ)的數(shù)據(jù)訪問操作:創(chuàng)建,讀取,更新以及刪除,他們一般和常說的CRUD 一起使用。在實踐中,一個單獨的重載的服務(wù)端方法以來http頭來執(zhí)行四種基礎(chǔ)數(shù)據(jù)訪問操作。在REST 類應(yīng)用中,方法時常會被映射到資源,這樣四種數(shù)據(jù)訪問方法,CRUD 允許資源的創(chuàng)建,刪除,更新以及獲取。這個資源可以是簡單資源,數(shù)據(jù)庫的一個表,或者一個復(fù)雜的模型對象。

Flash 播放器限制了只能使用GET 和POST 方法,意思就是任意介于FLEX 應(yīng)用與服務(wù)之間的通訊都需要指明DELETE 或者PUT 方法使用不同與標(biāo)準(zhǔn)REST 的方法,例如附加他們到一個GET 或POST 信息上。

發(fā)送一個PUT 命令到一個Rails 應(yīng)用,你可以這樣做:
+展開
-ActionScript
var request:URLRequest = new URLRequest();
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, resultHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpStatusHandler);
request.url = "http://rails/view/resource";
// Set the request type as POST and send the DELETE command as
// a variable in the data of the request
request.method = URLRequestMethod.POST;
request.data._method = "DELETE";
loader.load(request);

Ror(Ruby on Rails,一種web 敏捷開發(fā)框架)在正確的HTTP 方法不能被使用的時候,允許_methdo 變量來申明描述的方法。對于其他類型的REST 類服務(wù),類似的操作都會被使用到。

對于HTTPService 對象,你可以使用BlazeDS 或者Adobe LiveCycle 來配合它。HTTPService定義了一個useProxy 屬性,當(dāng)它設(shè)為true 會指定flash 播放器只與services-config.xml 文件中的服務(wù)器定義來通訊。一個請求會建立并且發(fā)送一個被代理的PUT/DELETE/OPTIONS(以及其他請求)被發(fā)送到Adobe LiveCycle 或者BlazeDS 服務(wù)器,然后服務(wù)器會建立并且發(fā)送實際的HTTP 請求并且返回反饋內(nèi)容到flash 播放器。代理同時也控制來自于HTTP 500 代碼服務(wù)器錯誤的失敗反饋,它可以返回給flash 播放器讓HTTPService 可以處理。

當(dāng)你配置好HTTPService 對象使用BlazeDS 或者lifecycle 代理之后,你可以在HTTPService上通過設(shè)定method 屬性來使用服務(wù)器的全部范圍的Http 頭。
+展開
-XML
<mx:HTTPService id="proxyService"
destination="http://localhost/app/url"/>

<mx:Script>
<![CDATA[
private function sendPut():void {
proxyService.method = "DELETE";
proxyService.send("id=2");
}

]]>
</mx:Script>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淮南市| 安塞县| 丰原市| 黔江区| 吉隆县| 陈巴尔虎旗| 周宁县| 且末县| 平昌县| 达日县| 阳信县| 慈利县| 邯郸市| 邯郸县| 合江县| 大竹县| 中牟县| 文安县| 仲巴县| 卢氏县| 宁晋县| 枣阳市| 凤山市| 永年县| 洛川县| 固安县| 滕州市| 安阳县| 隆回县| 贵州省| 嘉义县| 新野县| 伊通| 昌宁县| 阆中市| 彰武县| 高州市| 读书| 西丰县| 遵化市| 黄浦区|