HTTPService类

其组件提供了访问url路径,并且能够从url当中返回数据,最常见的xml格式。使用步骤如下:

1.创建一个service组件。

2.调用对象方法send()。

3.使用返回数据。

创建一个service组件需要指定其url,并且指定result事件,当数据被成功返回的时候就会广播result事件。send方法应该在某个位置被触发。数据返回的时候被储存在一个叫做lastResult对象里面。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="myService.send();">
 <mx:Script>
  <![CDATA[
   import mx.validators.ValidationResult;
   import mx.rpc.events.ResultEvent;
   import mx.controls.Alert;
   
   private function myServiceHandler(event:ResultEvent):void{
    trace(event.result.allUnits.unit[0].unitName);
   }
  ]]>
 </mx:Script>
 <mx:HTTPService id="myService" url="http://www.flexgrocer.com/units.xml" result="myServiceHandler(event)"/>
</mx:Application>
返回的数据被封装在一个ArrayCollection里面,当需要把数据给取出来充当数据源的时候,应该使用ArrayCollection而不应该使用Array,这点要注意:Array中的数据更改的时候组件不会更新。

下面定义一个数组变量,将数据取出并且显示出来。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="myService.send();">
 <mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.rpc.events.ResultEvent;
   
   [Bindable]
   private var unitArrayCollection:ArrayCollection=new ArrayCollection();
   private function myServiceHandler(event:ResultEvent):void{
    trace(event.result.allUnits.unit[0].unitName);
    unitArrayCollection=event.result.allUnits.unit;
   }
  ]]>
 </mx:Script>
 <mx:TileList id="myTileList" labelField="unitName" dataProvider="{unitArrayCollection}"/>
 <mx:HTTPService id="myService" url="http://www.flexgrocer.com/units.xml" result="myServiceHandler(event)"/>
 <mx:ComboBox x="333" y="121" id="myComboBox" dataProvider="{this.unitArrayCollection}" labelField="unitName"></mx:ComboBox>
</mx:Application>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值