使用Flex中HttpService的应用开发

  模拟Http远程访问

   在Flex项目的根目录中常见data目录中创建文件books.xml

books.xml内容如下:

 

<?xml version="1.0" encoding="utf-8"?>
<data>
 <!--可以有多个book元素--> 

 <book>
    <titleid>BN001</titleid>
    <title>How to Program Good</title>
    <pubid>1528</pubid>
    <auid>459-89-78</auid>
    <price>45</price>
    <notes>A guide to creating great Software .</notes>
    <pubdate>2009-02-06</pubdate>
  </book>
  

   </data>

 

使用httpservice请求方式:

1 使用引用返回数据的绑定的表达式

 

2 使用数据返回时执行ActionScript代码的事件监听器

 

 

<?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.controls.Alert;
  import mx.rpc.events.FaultEvent;
  import mx.rpc.events.ResultEvent;
  import mx.collections.ArrayCollection;
  [Bindable]
  private var myData:ArrayCollection;
  /**
   * 远程请求的处理
   *
   */
  private function resultHandler(event:ResultEvent):void
  {
    myData=event.result.data.book;
  }
  /**
   * 远程方法错误的处理方法
   *
   */
  private function faultResultHandler(event:FaultEvent):void
  {
      Alert.show(event.fault.faultString,event.fault.faultCode);
  }
 ]]>
</mx:Script>
 <mx:HTTPService id="contactService" url="data/books.xml"  result="resultHandler(event)" fault="faultResultHandler(event)" />
 <mx:Button label="获取数据" click="contactService.send()" 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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值