Flex httpservice返回值类型和处理

所属分类: 网页制作 / Flash 阅读数: 1888
收藏 0 赞 0 分享
采用BlazeDS的Remote Object好处是显而易见的,只需要维护后端server部分的java对象结构即可,flex前段采用<mx:RemoteObject>的destination索引即可(简单的配置即可)。但是坏处就是对于其他接入方式支持不了,同时对于前台显示方式也有所限制了。
采用http service的方式,可能会浪费一部分xml解析的时间,损失一部分效率(当前flex前端也不得不额外多出很多object的构造)。但是通用性将得到保证。
最终还是决定采用最原始的http service方式。作为平台内的一个组件,http service的方式应该会给我带来很多灵活的扩展性处理。
===================================================
http service使用很简单,但是我在第一次使用的时候犯了严重的错误,浪费了不少时间。此处铭记一下,以备后续反思。
做了一个尝试,后端利用最原始的servlet提供xml数据源,前端利用resultevent来获取。但总是不成功。刚开是利用“res.result.toString()”这样的方式,总只能返回[Object Object]这样的结果。我以为是后端servlet输出xml不正确,检查和测试几次,后端没有问题。后来改成“res.result.Item.itemname”这种方式,竟然能够得到值,但是我视图构造成XML对象的时候,总是返回Object,无法成功。—— 埋头苦调试了半天,终不得答案,郁闷呀。
后来值得重新回头翻一翻as3 language reference,才恍然明白,竟然还有一个“resultFormat”属性需要设置,默认只是返回object对象的,而我需要的是XML或E4X对象。
此处铭记如下:返回数据的格式resultFormat有几种类型,object、array、xml、flashvars、text和e4x,默认的设置为object。
RESULT_FORMAT_ARRAY : String = "array"
[] 结果格式“array”与“object”相似,但是其返回的值始终为数组;这样,如果从结果格式“object”返回的结果尚不是数组,则将把该项目添加为一个新数组的第一个项目。
RESULT_FORMAT_E4X : String = "e4x"
[] 结果格式“e4x”指定返回的值是一个 XML 实例,此实例可以使用 ECMAScript for XML (E4X) 表达式访问。
RESULT_FORMAT_FLASHVARS : String = "flashvars"
[] 结果格式“flashvars”指定返回的值是包含由 & 符号分隔的名称=值对的文本,该文本被分析为 ActionScript 对象。
RESULT_FORMAT_OBJECT : String = "object"
[] 结果格式“object”指定返回的值是 XML,但按照 ActionScript 对象树分析。
RESULT_FORMAT_TEXT : String = "text"
[] 结果格式“text”指定 结果文本应为未经处理的字符串。
RESULT_FORMAT_XML : String = "xml"
[] 结果格式“xml”指定结果应作为指向父 flash.xml.XMLDocument 的第一个子项的 flash.xml.XMLNode 实例返回。
================================================
在 MXML 文件中使用 <mx:HTTPService> 标签代表 HTTPService 对象。当调用 HTTPService 对象的 send() 方法时,将发出对指定 URL 的 HTTP 请求,并且返回 HTTP 响应。可以选择向指定 URL 传递参数。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。如果将 useProxy 属性设置为 true 并使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。
================================================
铭记于胸: 遇事先查API DOC是个好习惯!
注意:由于软件限制,当使用 GET 时 HTTPService 不生成用户界面友好的错误消息。
更多精彩内容其他人还在看

Flex 放大镜效果实现代码

Flex 放大镜效果实现代码
收藏 0 赞 0 分享

Flex 读取xml文件的方法

Flex 读取xml文件的多种方法小结,大家可以根据需要自己选择。
收藏 0 赞 0 分享

Flex 性能优化常用手法总结

随着Flex越来越多的被人们所熟知,越来越多的互联网也开始了RIA应用。
收藏 0 赞 0 分享

Flex Data Binding详解

Data BindIng简单的说就是当绑定源属性发生变化时,Flex 会把绑定源变化后属性的值赋给目的物的属性。做到了数据同步。
收藏 0 赞 0 分享

Flex 全屏组件 部分全屏的实现代码

一般情况下,Flex全屏是指将整个舞台全屏,而不是待定的组件全屏.网上的例子也一般是指这种情况的.
收藏 0 赞 0 分享

关于Flex 初始化的research

前些天在写一个自定义的UI组件的时候,发现在override createChildren的,只能取到基本类型的自定义变量,而取不到Object类型的自定义变量。
收藏 0 赞 0 分享

flex 简单例子(含实例效果图 源码)

要过节了,工作任务也完成了,闲来没事,研究svg,感觉市场上对svg支持度不高,导致了这项技术不能够被IT群众充分的接纳,一个没有人支持的技术,她必然也不会有很大的前景。研究来研究去,还是觉得flex比较好玩。
收藏 0 赞 0 分享

Flex3 界面布局教程

国庆期间,做了不少基于 flex 的开发工作,对 flex 的布局容器有了进一步深入的理解,也找到不少非常棒的文章,分享到这里方便一下大家。
收藏 0 赞 0 分享

Flex3 界面布局教程 第二篇

国庆期间,做了不少基于 flex 的开发工作,对 flex 的布局容器有了进一步深入的理解,也找到不少非常棒的文章,分享到这里方便一下大家。
收藏 0 赞 0 分享

Flex 3 布局容器学习笔记 整理

国庆期间,做了不少基于 flex 的开发工作,对 flex 的布局容器有了进一步深入的理解,也找到不少非常棒的文章,分享到这里方便一下大家。
收藏 0 赞 0 分享
查看更多