Flex的通信方式(五)——HTTPService_3

轉載自:http://hi.baidu.com/artgou/blog/item/0137ea993a4016006e068c3a.html

本文針對Flex的HTTPService的contentType的設置的兩種通信數據格式進行介紹。



[HTTPService部分知識]
1、HTTPService的contentType屬性,有"application/xml”和"application/x-www-form-urlencoded”兩個可取值。在不進行設置的情況下,默認值爲"application/x-www-form-urlencoded”。

2、HTTPService的method屬性,有"POST"和"GET"兩個可取值。在不進行設置的情況下,默認值爲"GET"。


下面用兩個例子進行介紹說明:


[例子_1]
HTTPService的contentType屬性,取默認值"application/x-www-form-urlencoded”通信數據格式。

1、通訊的對象HTTPService的配置 

 

2、回傳結果處理函數:

 

 public function getuserproc():void
 { 
  var returnValue:String=getuser.lastResult.Result.chu888;
  
  if(returnValue=="ok")
  {
   Alert.show("您成功的登錄了","提示信息",Alert.OK,this,null,null,Alert.YES);
  }
  else
  {
   Alert.show("您的登錄失敗了","提示信息",Alert.OK,this,null,null,Alert.YES);
  }
 }

 

3、參數說明:
url:指向提交地址
result/fault/invoke是3個事件,分別結果返回處理事件、錯誤返回處理事件、提交處理事件
method:http提交的方式
contentType默認:application/x-www-form-urlencoded
resultFormat默認:object
<mx:request>是提交的數據集合,可以參看flex的幫助。

4、發送的數據
準備向服務器請求提交,
那它觸發後,發送數據格式:Object of name-value pairs。
比如:

 

5、服務器處理方法和返回的數據格式
服務器端的處理很簡單:就是用Request.Params就能接收到;
比如:
Request.Params["username"],如上面的,接收值=s

返回給客戶端的數據採用xml格式,直接Response.Write:

 

[例子_2]
HTTPService的contentType屬性,取默認值"application/xml”通信數據格式。

1、通訊的對象HTTPService的配置

 

2、回傳結果處理函數:

 

 

3、重點參數說明:
contentType:application/xml
resultFormat:xml

4、發送的數據
開始通訊,發送數據是xml文檔,如下格式:
body = "<username>f</username><userpassword>f</userpassword>"

5、服務器處理方法和返回的數據格式
服務器端的處理,要使用Request.InputStream,並使用XmlDocument來解析
如下:

 

 

最後輸出也是xml結構。



[總結]
contentType的設置,要根據實際的應用
服務器端處理是要根據contentType來處理
返回的數據最好是xml格式的數據,方便轉換

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章