您的位置:首页 > 理论基础 > 计算机网络

Flex4之动态生成HTTPService方式

2011-11-07 15:50 197 查看
之前的一些操作,我都把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);

}


过程解释,待续..............................................
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: