当前位置:主页 > 网页教程 > Flash >

Flex与后台交互的几种方法详解


发布时间:14-02-01 18:07 发布者:视觉网原创素材 点击:

1.FlashVars(单向传递)

A.传递:在embed 中设置 FlashVars=”name1=value1&name2=value2”
B.接受:在as中写入 var value1=application.parameters.name1 即可

2.HttpService

?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute initialize=initializeHandler(event) mx:Script ![CDATA[ private function initializeHandler(event:Event):void { countriesService.send(); } private function changeHandler(event:Event):void { statesService.send(); } ]] /mx:Script !-- 载入纯静态的xml数据 -- mx:HTTPService id=countriesService url=http://www.rightactionscript.com/states/xml/countries.xml / !-- 载入由php生成的xml数据 -- mx:HTTPService id=statesService url=http://www.rightactionscript.com/states/xml/states.php !-- 以下标签就是要发送到服务端的数据了,可以这样理解:有一个名为country的变量,它的值为花括号{}里的内容 -- mx:request country{country.value}/country /mx:request /mx:HTTPService mx:VBox !-- 此控件的数据由第一个mx:HTTPService/控件接收的内容提供,并且由这个ComboBox控制着第二个ComboBox所要显示的内容 --mx:ComboBox id=country dataProvider={countriesService.lastResult.countries.country} change=changeHandler(event) / !-- 下面的ComboBox已经绑定了{statesService.lastResult.states.state},随它的数据改变而改变 -- mx:ComboBox dataProvider={statesService.lastResult.states.state} / /mx:VBox /mx:Application 

3.URLLoader

?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute initialize=initializeHandler(event) mx:Script ![CDATA[ private var _countriesService:URLLoader; private var _statesService:URLLoader; private function initializeHandler(event:Event):void { _countriesService = new URLLoader(); _countriesService.addEventListener(Event.COMPLETE, countriesCompleteHandler); _countriesService.load(new URLRequest(http://www.rightactionscript.com/states/xml/countries.xml)); _statesService = new URLLoader(); _statesService.addEventListener(Event.COMPLETE, statesCompleteHandler); XML.ignoreWhitespace = true; } private function countriesCompleteHandler(event:Event):void { var xml:XML = new XML(_countriesService.data); country.dataProvider = xml.children(); } private function statesCompleteHandler(event:Event):void { var xml:XML = new XML(_statesService.data); state.dataProvider = xml.children(); } private function changeHandler(event:Event):void { var request:URLRequest = new URLRequest(http://www.rightactionscript.com/states/xml/states.php); var parameters:URLVariables = new URLVariables(); parameters.country = country.value; request.data = parameters; _statesService.load(request); } ]] /mx:Script mx:VBox mx:ComboBox id=country change=changeHandler(event) / mx:ComboBox id=state / /mx:VBox /mx:Application 

4.WebService方法1

?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute initialize=initializeHandler(event) mx:Script ![CDATA[ private function initializeHandler(event:Event):void { statesService.getCountries(); } private function changeHandler(event:Event):void { statesService.getStates(country.value); } ]] /mx:Script mx:WebService id=statesService wsdl=http://www.rightactionscript.com/states/webservice/StatesService.php?wsdl mx:operation name=getCountries / mx:operation name=getStates / /mx:WebService mx:VBox mx:ComboBox id=country dataProvider={statesService.getCountries.lastResult} change=changeHandler(event) / mx:ComboBox dataProvider={statesService.getStates.lastResult} / /mx:VBox /mx:Application 

5.WebService方法2

?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute initialize=initializeHandler(event) mx:Script ![CDATA[ private function initializeHandler(event:Event):void { statesService.getCountries.send( ); } private function changeHandler(event:Event):void { statesService.getStates.send( ); } ]] /mx:Script mx:WebService id=statesService wsdl=http://www.rightactionscript.com/states/webservice/StatesService.php?wsdl mx:operation name=getCountries / mx:operation name=getStates mx:request country{country.value}/country /mx:request /mx:operation /mx:WebService mx:VBox mx:ComboBox id=country dataProvider={statesService.getCountries.lastResult} change=changeHandler(event) / mx:ComboBox dataProvider={statesService.getStates.lastResult} / /mx:VBox /mx:Application
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: 中立
表情:
验证码:点击我更换图片 匿名发表
最新评论