[英]Problem in loading xml (response from php script) into the datagrid - flex
我正在嘗試學習Flex。 我在從XML響應(從PHP腳本)加載DataGrid時遇到問題。
mxml代碼:
<mx:DataGrid id="dataGrid" x="69" y="250">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Age" dataField="age"/>
<mx:DataGridColumn headerText="Location" dataField="location"/>
</mx:columns>
</mx:DataGrid>
<mx:HTTPService resultFormat="e4x" result="getDataCallback(event)" id="getDataHttp" url="http://localhost/test/getData.php" method="POST"/>
<mx:Button click="getDataHttp.send();" label="Load Data" x="379" y="268"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[Bindable]
public var mydata:XMLList = new XMLList();
function getDataCallback(event:ResultEvent):void
{
mydata = event.result.data.info;
dataGrid.dataProvider = mydata;
}
]]>
</mx:Script>
PHP腳本:
<?php
$xml = "<?xml version=\"1.0\" ?><data>";
$xml .= "<info><name>name1</name><age>26</age><location>location1</location></info>";
$xml .= "<info><name>name2</name><age>27</age><location>location2</location></info>";
$xml .= "</data>";
header("content-type:text/xml");
echo $xml;
但是數據沒有被加載到數據網格中。 誰能幫我嗎?
我認為您的問題是您正在調用“數據”節點。 在e4x中,根節點的名稱不是這樣。
嘗試以下方法:
mydata = event.result.info;
除此之外,您有正確的想法。 我在沒有服務器組件ant的情況下在這里這樣做:
<s:applicationComplete>
<![CDATA[
var result:XML = <data>
<info><name>name1</name><age>26</age><location>location1</location></info>
<info><name>name2</name><age>27</age><location>location2</location></info>
</data>;
dataGrid.dataProvider = result.info;
]]>
</s:applicationComplete>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.