HttpService定义:
在 MXML 文件中使用 <mx:HTTPService> 标签代表 HTTPService 对象。当调用 HTTPService 对象的 send() 方法时,将发出对指定 URL 的 HTTP 请求,并且返回 HTTP 响应。可以选择向指定 URL 传递参数。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。如果将 useProxy 属性设置为 true 并使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。
MXML 语法如下:
<mx:HTTPService
concurrency="multiple|single|last"
contentType="application/x-www-form-urlencoded|application/xml"
destination="DefaultHTTP"
id="No default."
method="GET|POST|HEAD|OPTIONS|PUT|TRACE|DELETE"
resultFormat="object|array|xml|e4x|flashvars|text"
showBusyCursor="false|true"
makeObjectsBindable="false|true"
url="No default."
useProxy="false|true"
xmlEncode="No default."
xmlDecode="No default."
fault="No default."
result="No default."
/>
常用属性:
id
method
resultFormat
url
useProxy
常用事件:
fault
result
数据加载请求例子:
客户端:
通过标签来实现
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
// 调用失败处理
protected function http_faultHandler(event:FaultEvent):void {
Alert.show(event.fault.toString());
}
// 返回结果处理
protected function http_resultHandler(event:ResultEvent):void {
Alert.show(event.result.toString());
}
// 初始化
protected function init():void
{
http.send();
}
]]>
</mx:Script>
<mx:HTTPService id="http" resultFormat="array" method="POST" url="http://localhost:6196/Web/Default.aspx"
useProxy="false" fault="http_faultHandler(event)" result="http_resultHandler(event)"/>
</mx:Application>
--------------------------------------------------------
// 通过代码来实现,将初始化改为 这里面的http.send()是没有传参数
protected function init():void
{
var service:mx.rpc.http.HTTPService = new mx.rpc.http.HTTPService();
service.url = "http://localhost:6196/Web/Default.aspx";
service.useProxy = false;
service.resultFormat="text";
service.addEventListener(ResultEvent.RESULT,http_resultHandler);
service.addEventListener(FaultEvent.FAULT,http_resultHandler);
service.send();
}
--------------------------------------------------------
// 这种是将参数放在URL中。 参数a 和 参数b
protected function init():void
{
var service:mx.rpc.http.HTTPService = new mx.rpc.http.HTTPService();
service.url = "http://localhost:6196/Web/Default.aspx?a=yang&b=xiao";
service.useProxy = false;
service.resultFormat="text";
service.addEventListener(ResultEvent.RESULT,http_resultHandler);
service.addEventListener(FaultEvent.FAULT,http_resultHandler);
service.send();
}
--------------------------------------------------------
// 比较 传入的参数是对象
protected function init():void
{
var service:mx.rpc.http.HTTPService = new mx.rpc.http.HTTPService();
service.url = "http://localhost:6196/Web/Default.aspx";
service.useProxy = false;
service.resultFormat="text";
service.addEventListener(ResultEvent.RESULT,http_resultHandler);
service.addEventListener(FaultEvent.FAULT,http_resultHandler);
var param:URLVariables = new URLVariables();
param.a = "yang";
param.b = "xiao";
service.send(param);
}
----over