Flex HTTPService Resultformat - PullRequest
       5

Flex HTTPService Resultformat

0 голосов
/ 02 июня 2009

Какова реальная разница между этими форматами результатов для HTTPService во Flex:

text
object
xml
e4x

Особенно последние три кажутся довольно близкими по своему описанию.

Ответы [ 3 ]

4 голосов
/ 07 ноября 2011

из руководства HTTPService:

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

объект : возвращаемое значение является XML и анализируется как дерево объектов ActionScript. Это значение по умолчанию.

массив : возвращаемое значение является XML и анализируется как дерево объектов ActionScript, однако, если объект верхнего уровня не является массивом, создается новый массив и результирующий набор устанавливается в качестве первого элемента. Если makeObjectsBindable имеет значение true, тогда массив будет помещен в коллекцию ArrayCollection.

xml : Возвращаемое значение является XML и возвращается в виде литерального XML в объекте XML-узла ActionScript.

flashvars : Возвращаемое значение представляет собой текст, содержащий пары имя = значение, разделенные амперсандами, который анализируется в объект ActionScript.

текст : возвращаемое значение - текст, оставленное необработанным.

e4x : Возвращаемое значение является XML и возвращается в виде литерального XML в объекте XML ActionScript, доступ к которому можно получить с помощью выражений ECMAScript для XML (E4X).

1 голос
/ 02 июня 2009

Класс возвращаемого объекта отличается.

  • text => String
  • object => Универсальный объект, который вы можете использовать как хеш
  • e4x => объект типа XML
  • xml => Я забыл ... строку?
0 голосов
/ 02 июня 2009

У меня недавно были некоторые проблемы с "объектом" и "e4x" resultFormat.

У меня есть базовый класс WebService, который я использую для отправки запросов и получения результатов. По умолчанию все результаты возвращаются как «объект». Однако иногда Flex просматривает данные и преобразует их в соответствующий тип. Например, если у вас есть результат XML, который выглядит следующим образом, он преобразует его в объект Array (не знаю почему ... но ...):

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

Теперь такой объект Array можно легко преобразовать в XML, поскольку в качестве строки он также является XML.

Однако некоторые XML-документы возвращаются как ObjectProxy, который не может быть приведен как XML, когда resultFormat является «объектом».

Я пытался использовать «e4x», как это было предложено здесь, но затем я столкнулся с проблемами с неправильным сохранением пространств имен.

Я наконец-то попробовал "xml" и получаю ожидаемые результаты. Интересно, что когда вы проверяете свойство результата события с помощью Flex Debugger, оно называется массивом, даже если вы указываете resultFormat из «xml». Я предполагаю, что это позволяет легко приводить к ArrayCollection ... не уверен ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...