2009-11-15 84 views
1

嗨我有一個js文件,它使用ajax從php腳本中獲取XML文檔。 XML文件形成數據以繪製Fusion Chart。我知道我正在獲取XML數據,但FusionCharts不會繪製它。我真的很感激任何幫助,感謝使用XML數據填充FusionCharts AJAX

(FusionCharts.js is included earlier in my script) 

if(XMLHttpRequestObject) { 

XMLHttpRequestObject.open("GET", "chart.php?job="+job, true); 

XMLHttpRequestObject.onreadystatechange = function() { 
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
var xdoc = XMLHttpRequestObject.responseXML; 

    var chart1 = new FusionCharts("Pie3D.swf", "chart1Id", "400", "300", "0", "1"); 
chart1.setDataXML(xdoc); 
    chart1.render("chart1div"); 

chart.php產生XML數據

<chart caption='ADI Chart Test ' > 
    <set label='Driver' value='12.25' /> 
    <set label='Other Staff' value='223.21' /> 
    <set label='Equipment' value='0.00' /> 
    <set label='Additional Items' value='0.00' /> 
    <set label='Vehicle Fuel' value='0.00' /> 
    <set label='Accomodation' value='0.00' /> 
    <set label='Generator Fuel' value='0.00' /> 
</chart> 

回答

0

看起來好像是你有一個「chart1div」,即使它即是股利沒有定義的。 爲此,您需要定義一個Div。

此外,請嘗試使用responseText代替responseXML。這裏,前者返回一個字符串,而後者返回一個XML文檔對象。

示例: var xdoc = XMLHttpRequestObject.responseText;

:)

0

是否「Pie3D.swf」住在你從工作相同的根目錄?

0

嘗試從chart.php返回XML作爲字符串..... 並嘗試以下代碼。

FusionCharts.RenderChart("/Charts/FCF_Pie3D.swf", "", $strXML, "ResourceVsCO1", "400", "200", false, false); 

strXML是字符串包含從chart.ph

1
if(XMLHttpRequestObject) { 
    XMLHttpRequestObject.open("GET", "chart.php?job="+job, true); 
    XMLHttpRequestObject.onreadystatechange = function() { 
     if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
      var xdoc = XMLHttpRequestObject.responseXML; 
      var chart1 = new FusionCharts("Pie3D.swf", "chart1Id", "400", "300", "0", "1"); 
      chart1.setDataXML(xdoc); 
      chart1.render("chart1div"); 

由於XML返回..它的工作!