您的位置:首页 > 其它

Flex与后台交互的4种方法

2010-05-11 11:24 387 查看
一、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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: