首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex HTTPService 交付表单

2012-10-18 
Flex HTTPService 提交表单mx:HTTPService给后台传递参数的方法,列举如下: 方法1:采用URLVariables对象

Flex HTTPService 提交表单
<mx:HTTPService>给后台传递参数的方法,列举如下:

方法1:采用URLVariables对象

<?xml version="1.0" encoding="utf-8"?>     <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"          layout="absolute" fontSize="12">         <mx:Script>             <![CDATA[                 import mx.controls.Alert;                 import mx.rpc.events.ResultEvent;                 //对提交给后台的参数进行UTF-8的编码处理                 private function httpEncoding(param:String):String{                     return encodeURIComponent(param);                 }                 private function httpEncoding0(param:String):String{                     return param;//encodeURI(param);                 }                 private function doRequest():void{                     btn_do.enabled=false;                     var url:String = "http://localhost:8600/grid.jsp";                     //以下那样写后台会乱码,不管是否做URI编码转换                     //url += "?user="+httpEncoding0("用户名");                     //url += "&psw="+httpEncoding0("密码");                     //trace(url);                     srv.url = url;                     //srv.send();                     //以下这样写正常                     var params:URLVariables = new URLVariables();                     //这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取                     params.user = httpEncoding("用户名");                     params.psw = httpEncoding("密码");                     srv.send(params);                            }                 private function resultHandler(event:ResultEvent):void{                     Alert.show("与后台交互结束,前台开始取得的数据...","提示信息");                     btn_do.enabled=true;                 }             ]]>         </mx:Script>         <mx:HTTPService id="srv" result="resultHandler(event);"/>         <mx:Panel title="测试与jsp后台交互" layout="absolute" width="100%" height="90%">             <mx:Button id="btn_do" label="取得数据" click="doRequest();"/>             <mx:Spacer height="1"/>             <mx:DataGrid dataProvider="{srv.lastResult.catalog.product}" width="100%" height="100%" y="28"/>             </mx:Panel>     </mx:Application> 

方法2:采用<mx:request/>,同时也演示了mx:State的用法,[来自网上]
<?xml version="1.0" encoding="utf-8"?>     <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">         <mx:states>             <mx:State name="Logged In">                 <mx:SetProperty target="{panel1}" name="width" value="95%"/>                 <mx:SetProperty target="{panel1}" name="height" value="95%"/>                 <mx:RemoveChild target="{password}"/>                 <mx:RemoveChild target="{username}"/>                 <mx:RemoveChild target="{label1}"/>                 <mx:RemoveChild target="{Submit}"/>                 <mx:RemoveChild target="{label2}"/>                 <mx:SetProperty target="{panel1}" name="title" value="Members Section"/>                 <mx:AddChild relativeTo="{panel1}" position="lastChild">                     <mx:Label x="10" y="10" text="Welcome to the Members Section!"/>                 </mx:AddChild>                 <mx:AddChild relativeTo="{panel1}" position="lastChild">                     <mx:Label x="10" y="36" text="Here you can do great things, like join the forums @ Viper Creations!"/>                 </mx:AddChild>                 <mx:AddChild relativeTo="{panel1}" position="lastChild">                     <mx:Label x="10" y="62" text="Label"/>                 </mx:AddChild>             </mx:State>         </mx:states>         <mx:Script>             <![CDATA[                 import mx.rpc.events.ResultEvent;                        ]]>         </mx:Script>         <mx:Script>     <![CDATA[       private function checkLogin(evt:ResultEvent):void   {         if(evt.result.loginsuccess == "yes")       {           currentState = "Logged In";         }             if(evt.result.loginsuccess == "no")       {           mx.controls.Alert.show('Invalid username/password');       }            }     ]]>     </mx:Script>         <mx:HTTPService id="login_user" result="checkLogin(event)" showBusyCursor="true" method="POST" url="http://www.vipercreations.com/site_admin/login.php" useProxy="false">             <mx:request xmlns="">               <username>                   {username.text}               </username>                 <password>                   {password.text}               </password>             </mx:request>         </mx:HTTPService>              <mx:Panel resizeEffect="Resize" width="250" height="200" layout="absolute" title="Login System" horizontalCenter="0" verticalCenter="-2" id="panel1">             <mx:Label x="10" y="10" text="Username:" id="label1"/>             <mx:TextInput x="10" y="36" id="username"/>             <mx:Label x="10" y="66" text="Password:" id="label2"/>             <mx:TextInput x="10" y="92" id="password" displayAsPassword="true"/>             <mx:Button x="10" y="122" label="Submit" id="Submit" click="login_user.send();"/>         </mx:Panel>     </mx:Application> 


From http://shang.iteye.com/blog/419868

热点排行