Заполните FusionCharts данными XML AJAX - PullRequest
1 голос
/ 15 ноября 2009

Привет, у меня есть файл js, который использует ajax для получения документа XML из сценария php. Файл XML формирует данные для построения Fusion Chart. Я знаю, что я получаю данные XML нормально, но FusionCharts не будет их рисовать. Буду очень признателен за любую помощь, спасибо

(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>

Ответы [ 4 ]

1 голос
/ 09 ноября 2011
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");

Спасибо .. это сработало !!

0 голосов
/ 07 мая 2010

"Pie3D.swf" находится в том же корневом каталоге, из которого вы работаете?

0 голосов
/ 27 ноября 2010

Попробуйте вернуть XML в виде строки из chart.php ..... И попробуйте следующий код.

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

strXML - строка, содержащая xml-возврат из chart.ph

0 голосов
/ 17 ноября 2009

Похоже, что у вас есть «chart1div», даже если он не определен. Для этого вам нужно определить Div.

Также попробуйте использовать responseText вместо responseXML. Здесь первый возвращает строку, а второй возвращает объект документа XML.

Пример: var xdoc = XMLHttpRequestObject.responseText;

:)

...