使用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版,免費版本。據說收費版不會遇到此問題,事情比較多怕是沒空了,以後再研究吧。哪位兄弟有更好的建議,歡迎指教。