静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

Flex与后台数据库交互

作者:大鹏 发布于:2008-9-3 21:30 Wednesday 分类:Flex &actionscript

HTTPService
[codes=xml]
<?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>
[/codes]



URLLoader
[codes=xml]
<?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>
[/codes]


WebService 方法一
[codes=xml]
<?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>
[/codes]




WebService 方法二
[codes=xml]
<?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>
[/codes]


标签: actionscript3.0 flash flex

et_highlighter
发表评论 »本文目前尚无任何评论

发表评论

干净网络从你做起,切勿黏贴小广告