Flex与后台交互的4种方法 HTTPService、URLLoader、WebService详解

小编 2026-06-05 阅读:1882 评论:0
HTTPService...
HTTPService
Xml代码
  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


Xml代码
  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 方法一


Xml代码
  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 方法二


Xml代码
  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>  
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表