Flex与服务器交互

Flex与后端服务器的交互,主要有3种方式: LCDS、Http Service、Web Service

1. LifeCycle Data Services,这个是Adobe的组件,是以一个war包的形式存在,所以它只能跟JAVA整合,并且它是需要钱买的,大概10W。它是通过调用远程对象的方式来访问我们的后端服务的,所以一般情况下,如果使用LCDS,就直接访问我们的Service业务层,而不需要通过Struts层,它使用Flex自带的协议,比HTTP协议要快。

 

<mx:RemoteObject id="">

    <mx:method name="addUser">

        <mx:arguments>

           <username></username>

        </mx:arguments>

    </mx:method>

</mx:RemoteObject>


2.     Http Service,即通过HTTP协议访问后端服务,像普通jsp页面访问后端服务一样,先访问Struts,再由Struts来调用我们的Service层。调用代码如下:

(1)引入Http Service组件:

<mx:HTTPService id="myAdd" url="http://localhost:8088/MyFlex/addUser.action" method="POST" result="myResponse(event)">

     <!--请求的参数:如:username=zhaoql&password=123456 -->

     <mx:request>

        <username>{this.username.text}</username>

        <password>{this.password.text}</password>

     </mx:request>

</mx:HTTPService>


(2)发送请求

private function doAddUser():void

{
     this.myHttpService.send();
}


(3)接收服务器返回的数据

private function myResponse(event:ResultEvent):void
{
     // result就是服务器端返回的结果
     Alert(event.result);
}

     注意:

         a> 默认情况,Flex中ResultEvent的result类型不支持JSON格式的数据,

         b> 我们可以下载第三方的包:as3corelib,然后将as3corelib.awc放到flex_libs目录,

         c> 然后使用JSON.decode(event.result);就可以返回一个JSON对象,
         d> 但是在服务端返回的JSON字符串,有一个要求:不能使用单引号’,而只能使用双引号”,包括属性名称也必须要用双引号”引起来,否则JSON类会解析不了或者出 错,例如:

                错误:{username:’zhaoql’, password:523}

               正确:{“username”:”zhaoql”, “password”:523}

3. Web Service

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值