使用FusinChart时遇到点麻烦,花了半天时间才解决。我使用chart.setDataUrl装载一个在服务端生成的XML文件后,无法显示报表,提示说Invalid XML这个XML是存为UTF-8格式的,包含了中文字符(全英文字符时不会出错),将编码格式换成其他格式也都不行。把这个XML文件打开后,重新保存一遍居然OK。网上搜了搜,找到一个变通的方法,即调用setDataXML,以取代setDataUrl。将这个XML装载到客户端后,转化为字符串,将双引号变成单引号。再作参数传入,即可正常显示出很炫的flash报表。相关代码请参考:
var chart = new FusionCharts("../charts/MSBar3D.swf", "ChartId", "500", "350", "0", "0");
var str = doc.xml.replace(/"/g,"'");
chart.setDataXML(str);
chart.render("dChart");
注,我用的是3.0版,免费版本。据说收费版不会遇到此问题,事情比较多怕是没空了,以后再研究吧。哪位兄弟有更好的建议,欢迎指教。