您的位置:首页 > 其它

FCF学习笔记三之setDataXML与setDataURL

2011-07-01 00:00 197 查看
先贴下使用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()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: