我看网上需要给setDataXML()中传的值加上引号,所以我又
var xml = '"'+c+'"';或者 var xml = "'"+c+"'"
fusionChart.setDataXML(xml);
还是不好使

解决方案 »

  1.   

    你为什么要弹出alert(fusionChart.setDataXML(c));fusionChart.setDateXML(c)是一个设值方法,怎么可能会返回值给你弹出来。你把它注释掉看你的图能不能出来。
      

  2.   


    $.ajax( {
       type : "POST",
       url : url,
       data : data,
       async: false ,
       dataType : "json",
       beforeSend : wait,  
       success : function(data) {
       c=data.xmlStr;
       var fusionChart = new FusionCharts("<%=path%>/page/fusionChart/charts/"+e.target.id+".swf","chartId","600","500");
       alert(c);
       fusionChart.setDataXML(c);
       alert(fusionChart.setDataXML(c)); //这个好像没有返回值。
       fusionChart.render("middle");
    }
    });
      

  3.   

    哥们解决了没?我这两天有个需求需要用到这个setDataXml()方法,也出现了和你一样的问题,显示No data to display.
    var xmlStr = "<chart  charttopmargin='0' chartleftmargin='0' chartrightmargin='0'  canvasbordercolor='DFBAAD' xAxisMinValue='0' xAxisMaxValue='100' yAxisMinValue='0' yAxisMaxValue='100' bubbleScale='3' is3D='0' numDivLines='0' showFormBtn='1' showPrintMenuItem='1' showExportDataMenuItem='1' aboutMenuItemLabel='关于 FusionCharts' baseFontSize='12' outCnvBaseFontSize='20' baseFontSize='12'>"
    +"<dataset plotborderAlpha='0' >"
    +"<set x='8' y='50' width='120' height='20' name='陈不小东长江梅果公司CEO' color='#568EC7' id='CEO' />"
    +"<set x='25' y='80' width='120' height='20' name='西门吹雪运营总监' color='#568EC7' id='CTO' />"
    +"<set x='25' y='50' width='120' height='20' name='花满楼财务总监' color='#568EC7' id='CFO' />"
    +"<set x='25' y='20' width='120' height='20' name='陆小凤技术总监' color='#568EC7'  id='COO' />"
    +"</dateset>"
    +"<connectors color='83C6E1' stdThickness='2'>"
    +"<connector strength='0.45' from='CEO' to='CTO'  arrowAtStart='0' arrowAtEnd='1'/>"
    +"<connector strength='0.45' from='CEO' to='CFO'  arrowAtStart='0' arrowAtEnd='1' />"
    +"<connector strength='0.45' from='CEO' to='COO'  arrowAtStart='0' arrowAtEnd='1' />"
    +"</connectors>"
    +"</chart>";

    $(document).ready(function(){
    var div_show = document.getElementById("chartdiv");
    var width = div_show.style.width;
    var height =div_show.style.height;
    var myChart = new FusionCharts("Charts/DragNode.swf","chart1",width,height,false,false);
    myChart.setDataXML(xmlStr);
    myChart.render("chartdiv");
    });
      

  4.   

    但是如果用myChart.setDataURL("data.xml");就行,求解啊