FCF學習筆記三之setDataXML與setDataURL

先貼下使用setDataXML的例子:
<div id="chartdiv" align="center">
存放fusionChartsdiv區域
</div>
<script type="text/javascript">
var myCharts = new FusionCharts("FusionCharts/Column3D.swf","chartsId1","400","300");
myCharts.setDataXML("
<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units'
    showNames='1' decimalPrecision='0' formatNumberScale='0' showBorder='1'>
<set label='Jan' value='462' />
<set label='Feb' value='857' />
<set label='Mar' value='671' />
<set label='Apr' value='494' />
<set label='May' value='761' />
<set label='Jun' value='960' />
<set label='Jul' value='629' />
<set label='Aug' value='622' />
<set label='Sep' value='376' />
<set label='Oct' value='494' />
<set label='Nov' value='761' />
<set label='Dec' value='960' />
    </graph>
    ");
myCharts.render("chartdiv");
</script>

能夠發現,在myCharts.setDataXML();方法中,中間是一段xml代碼,跟以前setDataURL()使用的xml文件的url路徑是不同的。
一、字符長度區別
咱們知道,在使用get方式獲得參數時,瀏覽器對參數值得長度是有必定的限制的,因此若是xml字符過長,可能會產生問題。這個時候就須要使用setDataURL()方法;
二、雙字節(中文字符)區別
若是你的xml字符裏含有雙字節字符,例如中文字符,你就不能使用setData
XML()方法,而要使用setDataURL()

最佳模式:在咱們的實際應用當中,數據不可能事靜態的,他多是有用戶選擇查詢條件,而後提交給服務器,服務器返回一個查詢的結果,好比search.jsp?year=2008。因此腿甲的最佳模式是使用setDataURL()方法,而且使用javascript加載圖形。 注意:在使用setDataURL()方法時,若是地址裏含有「?」、「&」等字符,你就須要對這個地址進行URL編碼,在js裏進行編碼,使用escape(url)這個函數,若是你想在服務器進行編碼,那就要使用你所用的編程語言進行編碼,好比java,則使用編碼的類方法是:java.net.URLEncoder.encode()。
相關文章
相關標籤/搜索