【发布时间】:2010-01-15 18:06:35
【问题描述】:
在我的 flex 应用程序中,我使用 httpService 连接到服务器,对于来自服务器的响应,我希望它将 http 响应转换为 flex 对象,是否有任何远程实现可用于上述目的
【问题讨论】:
标签: apache-flex actionscript-3
在我的 flex 应用程序中,我使用 httpService 连接到服务器,对于来自服务器的响应,我希望它将 http 响应转换为 flex 对象,是否有任何远程实现可用于上述目的
【问题讨论】:
标签: apache-flex actionscript-3
为了补充之前的帖子,这取决于您从服务器端发送的内容。如果您使用的是 HTTPService,那么理想情况下它是一个 XML 文档(RestFul 样式)。根据为服务对象设置的结果格式,flex 尝试通过将 XML 映射到其他类型的 flex 对象来将其转换为该类型的结果。在这种情况下,最有用的结果格式是 object(默认)、e4x、xml。有关更多信息,您需要查看 ASDoc。
如果您的 HTTP 的有效负载是在服务器端直接序列化的自定义对象(而不是 xml),那么在 flex 端重新构建该对象非常困难。
如果您的有效负载是字符串或您想要手动解析的任何其他格式,则将结果格式设置为“文本”,这将返回一个字符串,您可以稍后进行处理。
【讨论】:
如果您希望 flex 自动将结果数据从 XML 转换为对象,请使用:
<mx:HTTPService url="http://theserver.com"
resultFormat="object"/>
或者如果你只使用 actionscript
var service:HTTPService;
service.resultFormat = "object";
这应该是未指定 resultFormat 时的默认行为。您可能还想检查“数组”结果格式,因为它的行为有点不同。
【讨论】: