使用 FusionCharts 1.0 中 setDataURL() 函数的问题

使用 FusionCharts 1.0 中 setDataURL() 函数的问题

因为项目的原因,原来同事使用的是FusionCharts 1.0 的老版本,一直是在 html 中直接生成好,没有采用 js 的方式动态加载。新的一个 project 里,用了 MVC 框架,便没有照搬老项目中的代码,尝试了用 js 来动态加载 xml 数据展示图表。

第一步,使用了 setDataXML() 函数来动态加载 xml 字符串,作为图表的数据来源,测试了一下没有发现问题。
第二步,使用 setDataURL() 函数从服务器端获取 xml 字符串,结果图表总是提示 Invalid XML Data。

调用图表的 javascript 代码如下:

        var myChart = new FusionCharts("FusionCharts/MSLine.swf", "status_serial", "780", "400");
        myChart.setDataURL("Home/LastWeekStat");
        //myChart.setDataURL("1.xml");
        /*
        myChart.setDataXML(
"<chart caption='最近一周内检测表' plotgradientcolor='' bgcolor='FFFFFF' showalternatehgridcolor='0' divlinecolor='CCCCCC' showvalues='0' showcanvasborder='0' canvasborderalpha='0' canvasbordercolor='CCCCCC' canvasborderthickness='1' captionpadding='30' linethickness='3' yaxisvaluespadding='15' legendshadow='0' legendborderalpha='0' palettecolors='#f8bd19,#008ee4,#33bdda,#e44a00,#6baa01,#583e78' showborder='0'>" +
"<categories>" +
"<category label='04月16日' />" +
"</categories>" +
"<dataset seriesname='合格数量'>" +
"<set value='5' />" +
"</dataset>" +
"<dataset seriesname='检测总量'>" +
"<set value='15' />" +
"</dataset>" +
"</chart>"
        );
        */
        myChart.render("chartdiv");

因为直接使用 setDataXML 函数是正常的,所以我将 setDataXML() 函数的参数内容,直接存储为 xml 放置到服务器端,使用 setDataURL 来动态加载,仍然提示无效的 xml 数据。
因为直接使用 xml 的内容无问题,所以可能是服务器端文件编码故障,将服务器端的 1.xml 文件编码为 UTF8,将文件格式保存为默认的简体中文,仍然提示无效。
将下面的 xml 编码说明放入到 xml 中,再服务器端调用,问题解决。

<?xml version="1.0" encoding="utf-8"?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值