0
真的讓我瘋狂地得到HTTPService對象的結果。當對服務器的調用完成時,結果事件將被觸發。 這一切都工作正常,服務器可以提供XML數據或JSON數據沒有錯誤。但是如何處理事件對象「ResultEvent」,我不清楚。Flash Builder:在Flex移動應用程序中使用AS3獲取HTTPService請求的結果
讓我告訴你一些代碼:
<fx:Declarations>
<s:HTTPService id="hsConfig"
url="{IR_BASE_URL}/getconfig.json"
result="onGetConfig(event)"
fault="onGetConfigError(event)"
method="POST"
showBusyCursor="false"
resultFormat="array"
makeObjectsBindable="true"
>
<s:request xmlns="">
<post1>Hello</post1>
<post2>World</post2>
</s:request>
</s:HTTPService>
</fx:Declarations>
然後一些動作:
protected function onGetConfig(e:ResultEvent):void
{
//var adata:XMLList = XML.(e.result);
var data:Object = e.result,
oo : HTTPService = (e.currentTarget as HTTPService);
trace(oo.lastResult);
trace(e.result.lastResult);
trace(data.cfg);
trace(e.result.length);
if(e.result.length)
{
trace(e.result[0].length);
}
}
XML服務器返回:
<?xml version="1.0" encoding="UTF-8"?>
<cfg>
<param1>Hello</param1>
<param2>World</param2>
</cfg>
例如trace(e.result.cfg)
會引發錯誤的名稱不存在。嘗試了幾件事情,並使用調試器來查看屬性e.result中的內容。我可以看到結果是一個包含一個元素[0]的ArrayCollection,而元素是一個ObjectProxy。
我在互聯網上看到了一些'解決方案',但所有使用datagrid來顯示結果,但這不是我想要的。我想像一個簡單的數組或對象來訪問它。
我該怎麼做?
感謝您經過很長時間的回答。但是,我決定採取不同的方法,而不是使用XML,而只是一個簡單的INI文件。工作速度快,臃腫(尺寸較小)。很棒! – Codebeat