首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex与后盾交互的4种方法

2012-11-17 
Flex与后台交互的4种方法一、HTTPService程序代码:view plaincopy to clipboardprint??xml version1.0

Flex与后台交互的4种方法
一、HTTPService

程序代码:







view plaincopy to clipboardprint?






<?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> 




<?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>  

二、URLLoader

程序代码:







view plaincopy to clipboardprint?






<?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> 




<?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>



三、WebService 方法一

程序代码:






view plaincopy to clipboardprint?






<?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> 




<?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>

四、WebService 方法二

程序代码:









view plaincopy to clipboardprint?






<?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>  

热点排行