`

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>

本文参考:冰山上的播客
http://xinsync.xju.edu.cn/index.php/archives/1513
分享到:
评论
2 楼 java-007 2009-08-18  
关键是里面有我们值得参看的地方。。。
这也是我转载的原因。。。
1 楼 lydawen 2009-08-17  
好多地方看到同样的文章,可运行发现代码居然是错误的。这里的代码早在07年就有了,现在已经过时了……

相关推荐

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

    Flex中的HTTPService组件提供了灵活的方式与后台进行数据交互。通过URLVariables对象或`&lt;mx:request/&gt;`标签,我们可以方便地传递参数给服务器。理解这两种方法对于开发Flex应用程序并与服务器进行数据交换至关重要。...

    Flex+HTTPService 例子

    在这个“Flex+HTTPService 例子”中,我们将探讨如何使用Flex与Java后台通过HTTPService进行数据交互。 首先,我们需要了解Flex中的HTTPService组件。HTTPService允许开发者发送HTTP请求到服务器,并接收响应数据。...

    flex与httpService通信(java)

    在Flex中,`HTTPService`组件是用于与服务器进行数据交换的重要工具,特别是对于与Java后台进行通信时。本篇文章将深入探讨Flex与Java后台通过`HTTPService`通信的原理、配置和实践。 1. **HTTPService组件介绍** ...

    Flex与后台交互的方法_HTTPService_WebService_URLLoader

    本篇文章将详细探讨Flex与后台交互的三种主要方法:HTTPService、WebService和URLLoader。 1. HTTPService: HTTPService是Flex中用于处理HTTP请求的组件,基于标准的HTTP协议进行通信。通过HTTPService,开发者...

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

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

    flex开发例子 flex与后台交互的例子 flex工程

    在Flex应用中,与后台交互通常涉及到网络通信,主要通过HTTPService、WebService或AMFChannel等组件来完成。HTTPService允许开发者发送HTTP请求到服务器,获取或提交数据;WebService则用于调用符合SOAP协议的Web...

    纯flex网站前台(httpservice、webservice进行数据交互)

    4. **数据交互流程**:在Flex应用中,通常会创建一个HTTPService或WebService对象,配置其URL、方法和其他参数,然后定义一个事件监听器来处理返回的数据。当用户触发某个操作时,如点击按钮,服务会被调用,然后在...

    Flex与后台交互的方法(PDF版)

    Flex通过多种方式与后台交互,其中最为常用的就是HTTPService和URLLoader组件。 ### HTTPService组件详解 HTTPService是Flex中用于处理HTTP请求的组件,它可以发送和接收XML或文本数据,是Flex与后台交互的主要...

    flex与后台servlet建立连接

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

    flex后台分页

    总的来说,这个例子展示了如何利用Flex和Java的组合实现后台分页功能,将复杂的分页逻辑放在服务器端处理,减轻前端的负担,同时保证了数据的高效传输和良好的用户体验。这种架构模式在现代Web应用中非常常见,能够...

    Java整合flex的web小项目

    2. Flex通过HTTPService向Java后台发送请求,请求包含必要的参数。 3. Java服务器接收到请求后,通过JDBC操作MySQL数据库,获取所需数据。 4. 数据处理完成后,Java将结果转换成JSON格式,并返回给Flex。 5. Flex...

    FLEX 读取Excel

    在本主题中,我们将探讨如何使用FLEX来读取Excel文件并展示其数据,甚至将其传送到后台数据库进行存储。 首先,要实现FLEX读取Excel文件,我们需要借助第三方库,如As3Xlsx或Zap2It。这些库允许FLEX应用程序解析...

    flex3 java 文件上传源码

    在这个“flex3 java 文件上传源码”中,我们有两个主要部分:Flex端(Upload)和Java端(UpLoadServer),它们分别负责用户的界面交互和后台的数据处理。 Flex3是一个基于ActionScript3的富互联网应用程序框架,...

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

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

    flex 截图并上传到服务器中

    然后,Flex通过HTTPService或WebService组件与Java后台进行通信,将图像数据发送到服务器。HTTPService通常用于RESTful API,而WebService更适合SOAP协议。在发送请求时,通常会将图像数据作为二进制流附加到POST...

    flex在线拍照软件

    这一过程可能使用HTTPService或WebService组件,通过POST请求将图片二进制数据发送到后台接口。 5. **FlexPhoto**:压缩包中的FlexPhoto可能是该在线拍照程序的主要代码文件或组件。这个文件可能包含了处理摄像头...

    基于adobe flash平台的 相片编辑器[flex部分]

    6. **服务调用**:Flex支持与后台服务器进行数据交换,可以使用HTTPService或WebService组件来发送AJAX请求,实现图片的上传、下载或保存功能。此外,AMF(Action Message Format)协议可以提高数据传输效率。 7. *...

    一个最简单的flex与java交互的例子

    标题 "一个最简单的flex与java交互的例子" 涉及的是在Web开发中,使用Adobe Flex(一种基于ActionScript的富互联网应用程序框架)与后台Java技术进行数据交换的技术。Flex通常用于构建用户界面,而Java则负责处理...

    Flex的SSH整合实例

    6. 实现数据交互:在Flex应用中,通过RemoteObject或HTTPService组件调用Java服务,传递参数并接收返回结果。在Java端,使用Spring的AOP或拦截器处理Flex的请求,通过Hibernate操作数据库。 7. 测试与优化:运行和...

    sql flex (最简单的连接方式)

    7. 数据绑定:Flex中的数据绑定机制允许UI组件的状态与后台数据模型自动同步。在MXML文件中,可以将文本框或列表控件的数据源绑定到从SQL查询返回的结果。 8. 示例代码:在`sql.mxml`文件中,可能有以下示例代码...

Global site tag (gtag.js) - Google Analytics