何校萍

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

先贴下使用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路径是不一样的。 
1、字符长度区别 
我们知道,在使用get方式得到参数时,浏览器对参数值得长度是有一定的限制的,所以如果xml字符过长,可能会产生问题。这个时候就需要使用setDataURL()方法; 
2、双字节(中文字符)区别 
如果你的xml字符里含有双字节字符,例如中文字符,你就不能使用setData 
XML()方法,而要使用setDataURL() 

最佳模式:在我们的实际应用当中,数据不可能事静态的,他可能是有用户选择查询条件,然后提交给服务器,服务器返回一个查询的结果,比如search.jsp?year=2008。所以腿甲的最佳模式是使用setDataURL()方法,并且使用javascript加载图形。 
注意:在使用setDataURL()方法时,如果地址里含有“?”、“&”等字符,你就需要对这个地址进行URL编码,在js里进行编码,使用escape(url)这个函数,如果你想在服务器进行编码,那就要使用你所用的编程语言进行编码,比如java,则使用编码的类方法是:java.net.URLEncoder.encode()。

posted on 2011-11-04 17:57  何校萍  阅读(4325)  评论(0编辑  收藏  举报