生活随笔
收集整理的這篇文章主要介紹了
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>??
總結
以上是生活随笔為你收集整理的Flex与后台交互的4种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。