轉載自: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格式的數據,方便轉換