Flex4之动态生成HTTPService方式

来源:互联网 发布:java基础笔记 编辑:程序博客网 时间:2024/05/29 18:04

之前的一些操作,我都把httpservice写成如下形式,就是在<fx:Declaration></fx:Declaration>里面声明,这是一种静态的方式,这种方式的局限性在于不能动态改变,也就是说一些URL如果要动态改变,比如从属性配置文件中读取的话,就会出现一些问题,它的申明如下:

<fx:Declarations》<mx:HTTPService  id="weatherService" url="{Properties.UrlWeather}"  result="jasononResultWeather(event)" resultFormat="e4x"></mx:HTTPService><mx:HTTPService  id="jasons_trs_f" url="{Properties.IP_checkLog}" result="jasononResult_trs_f(event)" resultFormat="e4x"></mx:HTTPService></fx:Declarations>

下面我介绍一种动态生成httpService 的方法,如下所示:

getAllCalenderService=new HTTPService();getAllCalenderService.url="http://192.168.17.66:8080/Smarter/calendarSetting!getMonthSettings.action?year=2011&month=11"getAllCalenderService.method="post";getAllCalenderService.send();getAllCalenderService.addEventListener(ResultEvent.RESULT,getAllCalenderFunc);

而getAllCalenderFunc为这个响应函数,即首先往后台传输数据,然后呢,服务器后台回应给客户端,说明是操作成功还是失败,

传输一些数据或者状态码回来。

如下所示:

public function getAllCalenderFunc(event:ResultEvent):void{var jsonData:String = new String(event.result);allCalenders = (JSON.decode(jsonData) as Array); Alert.show(allCalenders.length.toString());ArrCalenderArrColl = new ArrayCollection(allCalenders);Alert.show(ArrCalenderArrColl.getItemAt(0).date);}

过程解释,待续..............................................

原创粉丝点击