`

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>
分享到:
评论

相关推荐

    Flex HTTPService如何给后台传递参数 .doc

    当我们需要向后台传递参数时,有多种方法可以实现,这里主要介绍两种常见的方法。 ### 方法1:使用URLVariables对象 URLVariables类是Flex中用于将变量序列化为URL查询字符串的工具。这种方法适用于GET和POST请求...

    flex与httpService通信(java)

    - **请求参数**:通过`send()`方法发送HTTP请求,可以传递参数到后台。参数可以是XML对象或字典,取决于后台接口的期望输入格式。 - **异步通信**:`HTTPService`默认使用异步通信,这意味着发送请求后,不会阻塞...

    flex 文档以及后台数据交互详解

    1. **HTTPService**:这是Flex中最常用的后台数据交互方式,通过发送XML、JSON或其他格式的数据来与服务器进行HTTP请求和响应。 2. **WebService**:Flex支持与SOAP Web服务集成,允许调用远程方法并传递复杂的数据...

    Flex与后台交互的几种方法详解

    根据提供的标题、描述、标签及部分内容,本文将详细介绍Flex与后台进行交互的三种主要方法:通过FlashVars传递参数、利用HttpService服务以及采用URLLoader组件。这些方法在Flex开发中非常常见,对于实现数据的前后...

    Flex与后台交互的方法_HTTPService_WebService_URLLoader

    本文将深入探讨Flex与后台交互的三种主要方法:HTTPService、WebService和URLLoader,并重点关注基于WebService的交互方式。 一、HTTPService HTTPService是Flex中用于与HTTP服务器进行数据交换的主要组件。它基于...

    Flex 连接后台Java的几种方法选择

    Flex 连接后台 Java 的几种方法选择 Flex 是一种基于 Adobe Flash 平台的 Rich Internet Application(RIA)开发技术,Java 是一种流行的服务器端编程语言。连接 Flex 和 Java 后台是构建 RIA 应用程序的关键步骤。...

    flex与后台servlet建立连接

    这个服务将负责调用后台的方法,传递参数并接收返回结果。 4. **绑定XML数据**:在描述中提到绑定了XML数据,这可能意味着在Flex应用中,XML数据被用于传递或者展示。Flex提供了`mx.rpc.http.HTTPService`组件,...

    FLEX与JSP结合并测试HTTPService与java用XML通信

    2. **构建XML数据**:在发送请求前,FLEX端可能需要构建一个XML对象,包含要传递给服务器的数据。XML因其结构清晰、易于解析的特性,常被用于数据交换。 3. **发送请求**:调用HTTPService的send()方法,将XML数据...

    flex前台和后台交互例子

    Flex提供了强大的状态管理机制,如ViewStack和FormNavigator,可以轻松处理不同页面间的交互和数据传递。同时,ModelLocator和ServiceLocator设计模式可以帮助管理与后端交互的数据和服务。 8. **安全性考虑** 当...

    Flex与Java Servlet交互实例

    使用的是&lt;mx:HttpService&gt;给后台传递数据的方法。 本文开发使用的软件: Flex3-eclipse plugin Tomcat 6.0 Microsoft access 2003 Eclipse 3.3 各个软件的安装和使用这里就不介绍了。

    Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程

    在实际开发中,即使没有LCDS,Flex也可以通过WebService、HTTPService等方式与后台通信。然而,LCDS简化了这一过程,并提供了额外的性能优化和特性。 在MyEclipse中部署Flex+Java项目非常简便。FlexBuilder3 beta2...

    spring整合Flex

    5. **Flex与Spring的交互**: Flex客户端通过HTTPService或WebService调用Spring服务,传递数据。服务端的Spring Bean被配置为可被远程调用,这样Flex可以通过AMF请求这些服务,获取或更新数据。 6. **SSI(Spring ...

    flex与java通信的小例子,适合初学者

    - HTTPService是Flex中用于与服务器进行HTTP通信的工具,它使用XMLHttpRequest对象在后台发送HTTP请求,并将返回的数据解析为XML、JSON或其他格式。 - 在Flex中配置HTTPService,需要设置URL、方法(GET或POST)、...

    Flex学习资料总结

    8. **Flex与后台交互.docx** - 这部分可能会更深入地探讨Flex与各种后台技术的交互,如使用AMF进行二进制数据交换,或者是使用HTTPService、WebService等技术进行远程调用。 9. **Flex基础知识.docx** - 这是Flex的...

    flex可以使用的crud例子

    在Flex中,CRUD操作通常与后端数据服务交互,如使用AMF(Action Message Format)或者Web服务(如SOAP或RESTful API)来传递数据。以下是对这个示例项目的详细解析: 1. **创建(Create)**:在Flex中,创建新记录...

    flex air 导出 excel

    虽然Flex本身是基于ActionScript,但可以通过与后台服务器(如Java、PHP或.NET)进行交互来间接使用POI库。 以下是实现Flex Air导出Excel的步骤: 1. **服务器端准备**:在服务器端安装Apache POI库,并编写一个...

    Flex与java通讯

    在Flex中,我们通常使用Service组件(如RemoteObject、WebService或HTTPService)来调用Java后台服务。这些服务组件可以配置到特定的URL,处理HTTP请求和响应,将AMF数据转换为Flex可以理解的对象。 5. **Java ...

    Flex 购物车整站代码

    在购物车案例中,可能涉及到与后台数据库交互,如添加、删除和更新购物车中的商品,这就需要用到Flex的HTTPService或WebService组件。 5. **XML数据格式**:catalog.xml可能是存储商品信息的数据文件,XML作为一种...

    flex和hibernate的整合

    在Flex前端,用户可以享受到交互性强、图形化展示丰富的界面,而Hibernate则负责在后台处理数据库操作,提供数据的CRUD(创建、读取、更新、删除)功能。这种结合使得开发者能构建出既美观又功能强大的企业级应用。 ...

    flex开发系列书籍:XML技术在RIA中的集成

    XML文档可以轻松地从数据库获取数据,经过处理后传递给客户端的Flex应用程序,或者接收客户端修改后的数据并存回数据库。 在Flex开发中,XML数据文档可以直接绑定到用户界面组件,简化了数据展示和更新的过程。例如...

Global site tag (gtag.js) - Google Analytics