flex 和后台交互
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
03.<mx:Script>
04.<!--[CDATA[
05.private function initializeHandler(event:Event):void {
06.countriesService.send();
07.}
08.private function changeHandler(event:Event):void {
09.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
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
03.<mx:Script>
04.<!--[CDATA[
05.private var _countriesService:URLLoader;
06.private var _statesService:URLLoader;
07.private function initializeHandler(event:Event):void {
08._countriesService = new URLLoader();
09._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 方法一
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
03.<mx:Script>
04.<!--[CDATA[
05.private function initializeHandler(event:Event):void {
06.statesService.getCountries();
07.}
08.private function changeHandler(event:Event):void {
09.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 方法二
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8"?>
02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
03.<mx:Script>
04.<!--[CDATA[
05.private function initializeHandler(event:Event):void {
06.statesService.getCountries.send( );
07.}
08.private function changeHandler(event:Event):void {
09.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>