在调用HttpService返回数据后,我们需要对返回数据进行处理。返回数据的格式resultFormat有几种类型,object、array、xml、flashvars、text和e4x,默认的设置为object
看下这几种类型的原文说明:
object
The value returned is XML and is parsed as a tree of ActionScript objects. This is the default.
array
The value returned is XML and is parsed as a tree of ActionScript objects however if the top level object is not an Array, a new Array is created and the result set as the first item. If makeObjectsBindable is true then the Array will be wrapped in an ArrayCollection.
xml
The value returned is XML and is returned as literal XML in an ActionScript XMLnode object.
flashvars
The value returned is text containing name=value pairs separated by ampersands, which is parsed into an ActionScript object.
text
The value returned is text, and is left raw.
e4x
The value returned is XML and is returned as literal XML in an ActionScript XML object, which can be accessed using ECMAScript for XML (E4X) expressions.
假设有下面格式的数据:
<dataconfig>
<item>
<prodSpecId id="1">小灵通</prodSpecId>
<orderTypeId id="1">新装</orderTypeId>
<flowDesc id="1">流程描述</flowDesc>
</item>
<item>
<prodSpecId id="2">固话</prodSpecId>
<orderTypeId id="1">新装</orderTypeId>
<flowDesc id="2">流程描述</flowDesc>
</item>
<item>
<prodSpecId id="2">固话</prodSpecId>
<orderTypeId id="21">移机</orderTypeId>
<flowDesc id="4">流程描述</flowDesc>
</item>
</dataconfig>
这样的数据可以直接作为ComboBox或DataGrid的dataProvider,按如下形式设置:
a).HttpService的resultFormat为缺省的设置
b).返回值获取
public function result(data:Object):void{
list = data.result.dataconfig.item;//注意dataconfig.item与xml数据中的对应
}
list可以直接作为dataPrivoder即可,效果如下图:
考虑如下树状数据:
<?xml version="1.0" encoding="utf-8"?>
<node label="四川省">
<node label="成都市">
<node label="成都市市辖区"/>
<node label="金堂县"/>
<node label="双流县"/>
</node>
<node label="资阳">
<node label="雁江区"/>
<node label="简阳市"/>
<node label="安岳县"/>
<node label="乐至县"/>
</node>
<node label="自贡市"/>
<node label="攀枝花市"/>
</node>
这样的数据一般用来作为Tree控件的dataProvider,但又不能直接像上面一样设置,需要简单处理下:
a).HttpService的resultFormat设置为xml
b).返回数据处理
public function result(data:Object):void{
var xml:XML = <root/>
xml.appendChild(data.result);
areas = xml.node;
}
这里定义了一个XML对象,将返回值的result添加到XML子节点下,并返回xml对象的node节点,此数据作为树的dataProvider,效果如下图:
分享到:
相关推荐
在IT行业中,尤其是在Java或Android开发中,"将HttpService结果返回给控件"是一个常见的需求,涉及到网络请求、数据处理以及UI更新等关键环节。这里我们将深入探讨这个主题,并结合给定的"roomList.xml"文件名,推测...
如果需要传递参数,可以在HTTPService的`resultFormat`属性中指定数据格式,如XML或Object。例如,若Java端期待XML输入: ```xml <mx:HTTPService> ... <yourParamName>yourParameterValue </mx:...
你可以添加一个事件监听器来处理返回的数据。例如: ```actionscript httpService.result = function(event:ResultEvent):void { var responseData:Object = event.result as Object; // 解析并使用返回的数据 ...
`result`事件在请求成功并返回数据时触发,`fault`事件在发生错误时触发: ```xml <s:HTTPService id="httpService" url="http://example.com/service.xml" method="GET"> <!-- 添加任何请求参数 --> ...
5. Flex接收:在Flex客户端,HttpService的result事件处理器接收到服务器返回的XML数据,然后根据数据更新UI或执行其他操作。 四、示例代码 1. Flex中的HttpService配置: ```actionscript var httpService:...
本篇文章将深入探讨如何使用Flex3的HTTPService来获取JSON数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在Flex3中,我们经常用它来...
3. 定义响应处理函数:当服务器返回数据时,可以通过`result`事件处理响应。在MXML中添加监听器: ```xml <mx:HTTPService ... result="handleResult(event)"/> ``` 然后在ActionScript代码中定义处理函数: ```...
- 在`fault`事件处理器中处理可能出现的错误,如网络异常、服务器返回的错误代码等。 7. **安全与性能优化** - 考虑使用HTTPS进行加密通信,以提高安全性。 - 适当调整BlazeDS配置,如连接池大小,以应对高并发...
总之,通过使用 Flex 中的 HTTPService MXML 标签,并设置 `resultFormat` 为 "object",我们可以方便地将远程服务器返回的 XML 数据转换为 ActionScript 对象,简化了数据处理过程,提高了开发效率。这个方法在处理...
Java服务通常部署在Web服务器上,如Tomcat、Jetty等,处理Flex发送的请求并返回数据。 4. **配置过程**:在Flex项目中,需要配置HTTPService组件以指向Java服务的URL,并指定请求方法、参数和数据格式。此外,可能...
这个示例可能涵盖了创建HTTPService,设置请求参数,监听事件,以及解析和展示返回数据的整个过程。通过研究这个例子,开发者可以更好地理解Flex与Java之间基于HTTP的通信机制。 总的来说,Flex与Java的低数据量...
- 异步请求完成后,通常需要一个结果处理函数来接收服务器返回的数据。在示例中,`resultHandler`函数展示了如何展示返回的数据或执行其他操作。 ### 结论 Flex中的HTTPService组件提供了灵活的方式与后台进行数据...
压缩包中的"HTTPServiceStu"文件可能包含一个实际的Flex项目,演示了如何配置和使用HTTPService,以及处理返回数据的完整流程。通过研究这个示例,你可以更直观地理解HTTPService的工作原理和使用方法。 总结来说,...
4. **数据交互流程**:在Flex应用中,通常会创建一个HTTPService或WebService对象,配置其URL、方法和其他参数,然后定义一个事件监听器来处理返回的数据。当用户触发某个操作时,如点击按钮,服务会被调用,然后在...
配置HTTPService时,需要设置URL(指向XML文件的位置)和method(通常是GET或POST),并监听result事件以处理返回的数据。 以下是一个基本示例,展示如何使用Flex解析XML文件并使用HTTPService读取: ```...
- **结果处理**:当`HTTPService`的`result`事件触发时,可以访问`event.result`来获取服务器返回的数据。通常,数据会被自动转换为XML或Object,根据`resultFormat`属性的设置。 - **错误处理**:如果发生错误,`...
4. **处理响应**:在`handleResult`函数中,我们可以解析返回的数据并进行相应的操作。例如,如果服务器返回XML数据: ```actionscript private function handleResult(event:FlexEvent):void { var resultXML:...
此外,`result`事件监听器用于处理服务器返回的数据,`fault`事件监听器则用于处理通信过程中出现的错误。 ```mxml <mx:HTTPService id="service" url="http://example.com/api/login" method="POST"> 用户名 ...
- 在Flex应用中,可以通过HTTPService读取XML文件,并在结果返回后处理数据。 - 用户修改数据后,可以通过点击按钮,使用HTTPService将数据发送回服务器(如JSP页面)进行处理。 - 服务器端的JSP文件接收并处理...