使用Flex中HttpService的应用开发(编程式)

   提起HttpService组件管理器中使用itemResponder和AsyncToken的使用如下:

 

itemResponder:代替急用属性的时间监听器或者addEventListener()方法处理和向ActionScript事件处理发送时间对象。要使用ItemResponder类,首先必须创建自定义事件处理器函数衣橱里RPC请求的result和falut事件,每一个事件处理函数除了接受时间对象还回接受一个AsynToken参数。

 

private function resultHandler(event:ResultEvent,token:AsyncToken):void

 

private function faultResultHandler(event:FaultEvent,token:AsyncToken):void

 

创建ItemResponder对象方法:

    var responder:ItemResponder=new ItemResponder(resultHandler,faultResultHandler);

 

AsyncToken:一种动态对象,开发者通过他可以再运行时向对象添加任意已命名属性。向RPC组件发送的每一个请求多返回一个AsyncToken 类的实例。该实例会在RPC请求的过程中存在于应用程序的内存中,创建请求后,可以任意田间信息跟踪请求的目的后其他重要信息。

 

 

具体实现代码:

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script >
 <![CDATA[
  import mx.collections.ItemResponder;
  import mx.controls.Alert;
  import mx.rpc.events.FaultEvent;
  import mx.rpc.events.ResultEvent;
  import mx.rpc.AsyncToken;
  import mx.rpc.AsyncResponder;
  import mx.collections.ArrayCollection;
  [Bindable]
  private var myData:ArrayCollection;
  private var contactService:HTTPService=new HTTPService();
  
  private function getData()
  {
      contactService.url="data/books.xml" ;
      var responder:ItemResponder=new ItemResponder(resultHandler,faultResultHandler);
      var token:AsyncToken=contactService.send();
      token.addResponder(responder);
  }
  /**
   * 远程请求的处理
   *
   */
  private function resultHandler(event:ResultEvent,token:AsyncToken):void
  {
    myData=event.result.data.book;
  }
  /**
   * 远程方法错误的处理方法
   *
   */
  private function faultResultHandler(event:FaultEvent,token:AsyncToken):void
  {
      Alert.show(event.fault.faultString,event.fault.faultCode);
  }
 ]]>
</mx:Script>
 <mx:Button label="获取数据" click="getData()" x="69" y="268"/>
 <!--基于请求的HTTPService处理-->
 <mx:DataGrid id="requestHandlerdg" dataProvider="{myData}"  x="5" y="0" width="390" height="122"/>
 
  <!--基于事件的HTTPService处理-->
 <mx:DataGrid id="clickHandlerdg" dataProvider="{contactService.lastResult.data.book}"  x="5" y="130"  width="390" height="130"/>
 
</mx:Canvas>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值