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 >
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: C是一种高级编程语言,起初在20世纪70年代由丹尼斯·里奇和肯·汤普逊在贝尔实验室开发。C是一种通用的编程语言,广泛用于开发各种应用程序,尤其是操作系统和嵌入式系统。它具有高效性和可移植性的特点,因此被广泛应用于各种不同的平台和设备上。 C语言是结构化的编程语言,通过使用函数、变量和逻辑控制结构等构建程序。它具有丰富的操作符和数据类型,允许程序员灵活地操作数据。同时,C语言还提供了强大的指针功能,允许直接访问和操作内存中的数据,这对于开发底层系统和高性能应用非常有用。 C语言还支持面向对象编程的编程范式,通过结构体和函数指针等特性,可以实现类似面向对象的概念。虽然C语言本身不具备面向对象的语法和特性,但程序员可以通过合理的设计和编码实现面向对象的思想。 由于C语言具有高效性和可移植性,对于开发底层系统和资源有限的嵌入式系统尤为重要。许多操作系统的内核和驱动程序都是用C语言编写的。此外,C语言还是其他一些编程语言的基础,例如C++和Java等,因为它们都直接或间接地从C语言借鉴了很多概念和语法。 总的来说,C语言作为一种高级编程语言,具有高效性、可移植性和灵活性的特点,被广泛应用于各种不同的领域和平台。它不仅是计算机科学教育的重要组成部分,也是程序员必须掌握的基本工具之一。 ### 回答2: c是英文字母表中的第三个字母,它的大小写形式分别是C和c。在英语中,c可能代表着许多不同的词汇和概念。比如,它常常用来表示“猫”(cat)这个动物的首字母,也可以代表“咖啡”(coffee)这种饮料的首字母。此外,c还有很多其他的用法。比如,它是数学中的一个重要符号,代表着光速的常数。在计算机科学中,c是一种编程语言的名称,它是一种通用的高级计算机程序设计语言,广泛用于开发各种应用程序和系统软件。此外,c还可以代表着“中文”(Chinese)、”文化”(culture)和”创造”(create)等概念。总的来说,c在英语和其他领域中有很多不同的含义和用法,它是一个非常多功能的字母。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值