English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> 处理Web服务的结果

 

处理Web服务的结果

威盾防火墙 2015-02-17

 

Web服务请求由外部的服务器处理,所以服务器处理请求并返回适当数据所需的时间是不可知的。因此,在处理返回数据之前需要监听服务器的返回结果。

WebService类既可以同时监听服务器所有方法返回的结果,又可以分别监听每个方法返回的结果。通过创建result和fault事件的事件监听函数,可以监听数据或者发现操作失败。

只要数据从服务器成功返回,就可以按需来操纵或显示它。Web服务显示的结果并没有按照特定的方式进行排序。因此,将需要编写一个方法,用来在显示数据之前对它进行排序。

(1) 在Dashboard.mxml里,创建一个名为sortByDateField的私有函数,返回值为Array- Collection。第一个参数叫做aSales,类型为ArrayCollection。第二个参数叫做colName,类型为String。

 

第一个参数包含了从Web服务调用返回的结果。第二个参数指定了用于排序的字段,使得本方法在多种情形下均可使用,并具有按照不同列进行排序的灵活性。

(2) 创建一个名为salesData的ArrayCollection本地变量,将函数的形参aSales赋给它。

 

这行代码并没有创建新的ArrayCollection对象。相反,它只提供了一种叫做指针或引用的方式来访问相同的数据。

(3) 在脚本块里,导入mx.collections.Sort类。

 
(4) 在sortByDateField()方法里,创建一个名为sort的Sort本地变量。
 

使用这个变量将为本地的ArrayCollection创建sort定义。

(5) 在脚本块里,导入mx.collections.SortField类。

 
(6) 回到sortByDate()方法,将sort的fields属性设为一个数组,数组中第一项是新建的SortField。将两个参数传入SortField的构造函数。第一个参数是colName,指定用于排序的字段名。第二个参数是true,指定排序要区分大小写。
 

你应该为使用的每个数据集指定用于排序的字段名。

(7) 将sort本地变量赋给salesData的sort属性,并刷新salesData。

 
(8) 从函数返回已排序的salesData。
 
(9) 转到salesRPCResult()函数。用sortByDateField()函数根据DTSALE字段对event. result进行排序,并把结果赋给sales.dp。在将event.result传入函数之前,需要把它转换为ArrayCollection类型。
 

如果getSalesData方法成功返回数据,则salesRPCResult方法会被调用。本方法返回的销售数据是ArrayCollection类型,但是事件对象的result属性是个一般对象。要使用sortBy- DateField()函数(形参类型为ArrayCollection),需要告诉Flex编译器event.result中的数据为ArrayCollection类型。可以把event.result强制转换为ArrayCollection类型。

sortByDateField()函数返回一个按"DTSALE"进行排序的集合。

(10) 转到typeRPCResult()函数。将event.result值转换为ArrayCollection类型。

 

如果getTypeSalesData方法成功返回数据,则调用typeRPCResult方法。虽然远程调用返回的数据是ArrayCollection类型,但是事件对象的result属性是一般的对象。type对象的dp属性要求用ArrayCollection类型,所以需要告诉Flex编译器event.result中的数据为Array- Collection类型。可以把event.result强制转换为ArrayCollection类型。

(11) 完全删除compRPCResult()函数。把这个方法的功能添加到salesRPCResult()函数,这样sales.dp和comp.dp将使用相同的数据。将赋给sales.dp的相同排序结果也赋给comp.dp。

 
因为不需要用其他的Web服务来获取Sales ChartPod的数据,所以把两个组件的dp属性的设置都放到同一方法中是合理的。
【责任编辑:云霞 TEL:(010)68476606】


相关内容: 最新内容:
不得不面对的Web QoS[2015-02-17]
Web应用是如何遭到攻击的[2015-02-17]
Web服务器作为代理服务器[2015-02-17]
PHP简化了Web应用的开发[2015-02-17]
Web框架与CSRF防御[2015-02-17]
网页防篡改技术追踪[2015-02-17]