Flex httpservice返回值类型和处理

所属分类: 网页制作 / Flash 阅读数: 1908
收藏 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 不生成用户界面友好的错误消息。
更多精彩内容其他人还在看

AS3中的反射(速记) 分析

详细了解AS3的反射,请google相关文章,这里只是速记一下
收藏 0 赞 0 分享

flash与asp/php/asp.net通信的方法第1/3页

flash与后台程序通信
收藏 0 赞 0 分享

火山动态文本滚动条V5[AS3版]

功能说明:本版滚动条除了继续保持体积小(小于2K),界面容易修改,资源占用率小的优势外,主要有以下几点改进: 1,使用AS3编写。 2,宽高动态指定。 3,增加滚动条背景点击事件。 4,消除了鼠标滚轮无法同时准确控制多个文本框的重大BUG。
收藏 0 赞 0 分享

AS打造的复制粘贴等功能类

真不错漂亮大方的flash复制粘贴剪切等效果
收藏 0 赞 0 分享

关于类、私有属性与继承的理解

学习FLASH的时间也不短了,但总觉得还有很多的东西在等我去弄清楚。而且有很多东西也是搞得似懂非懂。在这里,把类、私有属性跟继承的理解讲一下。也希望大家能无私补充,以臻佳景。
收藏 0 赞 0 分享

FLASH自动判断域名然后转向等操作

FLASH自动判断域名,如果不是你的域名,然后干什么你来定吧! 首先说一下FLASH自已可以干什么!FLASH他可以判断自已在哪个路径下面,例如:
收藏 0 赞 0 分享

Flex程序开发心得小结

和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。
收藏 0 赞 0 分享

关于FLASH与XML交互应用中的理解

关于XML在FLASH中的应用,以前写过几篇。也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。
收藏 0 赞 0 分享

Flash Event写法

flash下event事件驱动方法
收藏 0 赞 0 分享

AS3自写类整理笔记 ClassLoader类第1/2页

在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来
收藏 0 赞 0 分享
查看更多