Flex与后台交互的4种方法

一、HTTPService

程序代码:





  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">  
  3. <mx:Script>  
  4. <!--[CDATA[  
  5. private function initializeHandler(event:Event):void {  
  6. countriesService.send();  
  7. }  
  8. private function changeHandler(event:Event):void {  
  9. statesService.send();  
  10. }  
  11. ]]>  
  12. </mx:Script>  
  13. <!-- 载 入纯静态的xml数据 -->  
  14. <mx:HTTPService id="countriesService" url="http://www.rightactionscript.com/states/xml/countries.xml" />  
  15. <!-- 载入由php生成的xml数据 -->  
  16. <mx:HTTPService id="statesService" url="http://www.rightactionscript.com/states/xml/states.php">  
  17. <!-- 以下标签就是要发送到服务端的数据了,可以这样理解:有一个名为 country的变量,它的值为 花括号{}里的内容 -->  
  18. <mx:request>  
  19. <country>{country.value}</country>  
  20. </mx:request>  
  21. </mx:HTTPService>  
  22. <mx:VBox>  
  23. <!-- 此 控件的数据由第一个<mx:HTTPService/>控件接收的内容提供,并且由这个ComboBox控制着第二个ComboBox所要显 示的内容 -->  
  24. <mx:ComboBox id="country" dataProvider="{countriesService.lastResult.countries.country}"  
  25. change="changeHandler(event)" />  
  26. <!-- 下面的ComboBox已经绑定了 {statesService.lastResult.states.state},随它的数据改变而改变 -->  
  27. <mx:ComboBox dataProvider="{statesService.lastResult.states.state}" />  
  28. </mx:VBox>  
  29. </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

程序代码:





  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">  
  3. <mx:Script>  
  4. <!--[CDATA[  
  5. private var _countriesService:URLLoader;  
  6. private var _statesService:URLLoader;  
  7. private function initializeHandler(event:Event):void {  
  8. _countriesService = new URLLoader();  
  9. _countriesService.addEventListener(Event.COMPLETE, countriesCompleteHandler);  
  10. _countriesService.load(new URLRequest("http://www.rightactionscript.com/states/xml/countries.xml"));  
  11. _statesService = new URLLoader();  
  12. _statesService.addEventListener(Event.COMPLETE, statesCompleteHandler);  
  13. XML.ignoreWhitespace = true;  
  14. }  
  15. private function countriesCompleteHandler(event:Event):void {  
  16. var xml:XML = new XML(_countriesService.data);  
  17. country.dataProvider = xml.children();  
  18. }  
  19. private function statesCompleteHandler(event:Event):void {  
  20. var xml:XML = new XML(_statesService.data);  
  21. state.dataProvider = xml.children();  
  22. }  
  23. private function changeHandler(event:Event):void {  
  24. var request:URLRequest = new URLRequest("http://www.rightactionscript.com/states/xml/states.php");  
  25. var parameters:URLVariables = new URLVariables();  
  26. parameters.country = country.value;  
  27. request.data = parameters;  
  28. _statesService.load(request);  
  29. }  
  30. ]]-->  
  31. </mx:Script>  
  32. <mx:VBox>  
  33. <mx:ComboBox id="country" change="changeHandler(event)" />  
  34. <mx:ComboBox id="state" />  
  35. </mx:VBox>  
  36. </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 方法一

程序代码:




  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">  
  3. <mx:Script>  
  4. <!--[CDATA[  
  5. private function initializeHandler(event:Event):void {  
  6. statesService.getCountries();  
  7. }  
  8. private function changeHandler(event:Event):void {  
  9. statesService.getStates(country.value);  
  10. }  
  11. ]]-->  
  12. </mx:Script>  
  13. <mx:WebService id="statesService"  
  14. wsdl="http://www.rightactionscript.com/states/webservice/StatesService.php?wsdl">  
  15. <mx:operation name="getCountries" />  
  16. <mx:operation name="getStates" />  
  17. </mx:WebService>  
  18. <mx:VBox>  
  19. <mx:ComboBox id="country"  
  20. dataProvider="{statesService.getCountries.lastResult}" change="changeHandler(event)" />  
  21. <mx:ComboBox dataProvider="{statesService.getStates.lastResult}" />  
  22. </mx:VBox>  
  23. </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 方法二

程序代码:





  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">  
  3. <mx:Script>  
  4. <![CDATA[  
  5. private function initializeHandler(event:Event):void {  
  6. statesService.getCountries.send( );  
  7. }  
  8. private function changeHandler(event:Event):void {  
  9. statesService.getStates.send( );  
  10. }  
  11. ]]-->  
  12. </mx:Script>  
  13. <mx:WebService id="statesService" wsdl="http://www.rightactionscript.com/states/webservice/StatesService.php?wsdl">  
  14. <mx:operation name="getCountries" />  
  15. <mx:operation name="getStates">  
  16. <mx:request>  
  17. <country>{country.value}</country>  
  18. </mx:request>  
  19. </mx:operation>  
  20. </mx:WebService>  
  21. <mx:VBox>  
  22. <mx:ComboBox id="country"  
  23. dataProvider="{statesService.getCountries.lastResult}" change="changeHandler(event)" />  
  24. <mx:ComboBox dataProvider="{statesService.getStates.lastResult}" />  
  25. </mx:VBox>  
  26. </mx:Application>  

转载于:https://www.cnblogs.com/nianshi/archive/2010/05/11/1732417.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值