Flex HTTPService Resultformat

时间:2009-06-02 18:04:02

标签: flex

Flex中HTTPService的这些结果格式之间的真正区别是什么:

text
object
xml
e4x

特别是,最后三个看起来非常接近他们的描述。

3 个答案:

答案 0 :(得分:4)

来自HTTPService手册:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/http/HTTPService.html#resultFormat

object :返回的值是XML,并被解析为ActionScript对象树。这是默认值。

array :返回的值是XML并被解析为ActionScript对象树,但如果顶级对象不是Array,则创建一个新数组并将结果集设置为第一个项。如果makeObjectsBindable为true,那么Array将被包装在ArrayCollection中。

xml :返回的值是XML,并在ActionScript XMLnode对象中作为文字XML返回。

flashvars :返回的值是包含由&符分隔的名称=值对的文本,并将其解析为ActionScript对象。

text :返回的值是文本,并保持原始状态。

e4x :返回的值是XML,并在ActionScript XML对象中作为文字XML返回,可以使用ECMAScript for XML(E4X)表达式访问该对象。

答案 1 :(得分:1)

返回对象的classtype不同。

  • text =>字符串
  • object =>您可以像哈希一样使用的通用对象
  • e4x => XML类型的对象
  • xml =>我忘了......一个字符串?

答案 2 :(得分:0)

我最近遇到了“对象”和“e4x”resultFormat的一些问题。

我有一个基本WebService类,用于发送请求和接收结果。默认情况下,所有结果都以“对象”的形式返回。但是,有时Flex会查看数据,并将其转换为适当的类型。例如,如果您的XML结果如下所示,它会将其转换为数组对象(不确定原因......但是......):

<root>
    <child>text</child>
    <child>text text</child>
</root>

现在,像这样的数组对象可以很容易地转换为XML,因为它作为字符串也是XML。

但是,当ObjectProxy为“object”时,某些XML文档将作为resultFormat返回,不能转换为XML。

我尝试使用“e4x”,就像这里建议的那样,但后来我遇到了名称空间未被正确保存的问题。

我终于尝试了“xml”,我得到了预期的结果。有趣的是,当您使用Flex调试器检查事件结果属性时,即使您指定了resultFormat的“xml”,它也会被称为数组。我想这可以轻松地转换为ArrayCollection ......不确定....