2009-06-02 1 views
0
플렉스 HTTPService의 이러한 resultformats 사이의 진정한 차이는 무엇

: 플렉스 HTTPService를 Resultformat

text 
object 
xml 
e4x 

은 특히 지난 3 그들의 설명에 의해 서로 아주 가까이 보인다는.

답변

1

반환되는 개체의 classtype이 다릅니다.

  • 텍스트 => 문자열
  • 객체 => 당신은 해시처럼 사용할 수있는 일반 객체는
  • E4X => XML 유형의 객체
  • XML => 나는 잊지 ... 문자열 ?
0

최근에 "object"및 "e4x"resultFormat에 몇 가지 문제가 있습니다.

요청을 보내고 결과를받는 데 사용하는 기본 WebService 클래스가 있습니다. 기본적으로 모든 결과가 "개체"로 돌아옵니다. 그러나 때로는 Flex가 데이터를보고 적절한 유형으로 변환합니다. 당신은 다음처럼 보이는 XML 결과가있는 경우 예를 들어, 그것은 (왜 있는지 ...하지만 ...하지 않음) Array 객체로 변환됩니다

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

을 자,이 같은 배열 개체 문자열이기 때문에 XML로도 쉽게 캐스팅 될 수 있습니다.

그러나 resultFormat이 "object"인 경우 일부 XML 문서는 ObjectProxy으로 반환되며 XML로 캐스팅 할 수 없습니다.

여기에 제안 된 "e4x"를 사용해 보았지만 올바르게 보존되지 않은 이름 공간에 문제가 발생했습니다.

"xml"을 마침내 시도한 결과 기대되는 결과를 얻었습니다. Flex Debugger를 사용하여 이벤트 결과 속성을 검사 할 때 "xml"의 resultFormat을 지정하는 경우에도 배열이라고합니다.

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

객체 : 반환되는 값은 XML과 같은 구문 분석 나는 HTTPService를의 매뉴얼에서

4

....이 쉽게 확실하지 ArrayCollection에 ...에 캐스팅 수 있습니다 추측 ActionScript 객체 트리입니다. 이것이 기본값입니다.

배열 : 반환되는 값은 XML이며 ActionScript 객체의 트리로 구문 분석되지만 최상위 객체가 배열이 아닌 경우 새 Array가 만들어지고 결과가 첫 번째 항목으로 설정됩니다. makeObjectsBindable가 true의 경우, Array는 ArrayCollection에 랩됩니다.

xml : 반환 값은 XML이며 ActionScript XMLnode 객체에서 리터럴 XML로 반환됩니다.

flashvars : 반환되는 값은 ActionScript 객체로 구문 분석되는 앰퍼샌드로 구분 된 name = value 쌍을 포함하는 텍스트입니다.

텍스트 : 반환 된 값은 텍스트이며 원시입니다.

e4x : 반환 값은 XML이며 ECMAScript for XML (E4X) 표현식을 사용하여 액세스 할 수있는 ActionScript XML 객체에서 리터럴 XML로 반환됩니다.