2 cplusplusrookie Cplusplusrookie 于 2016.02.26 17:36 提问

fusionChart总是Invalid data问题
 我的服务器端的数据很简单就是
public void doPost(HttpServletRequest request ,HttpServletResponse response)
            throws ServletException,IOException{
                //组装数据
             request.setCharacterEncoding("UTF-8");
             response.setContentType("text/html;charset=UTF-8");
             StringBuffer xmlStr=new  StringBuffer();
             xmlStr.append("<chart caption='每月销售饼状图' xAxisName='月份’ showNames='1' formatNumberScale='0'>");
             xmlStr.append("<set name='一月' value='100' color='AFD8F8'/>");
             xmlStr.append("<set name='二月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='三月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='四月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='五月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='六月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='七月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='八月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='九月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='十月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='十一月' value='100' color='F6BD0F'/>");
             xmlStr.append("<set name='十二月' value='100' color='F6BD0F'/>");
             xmlStr.append("</chart>");
             request.setAttribute("xmlStr", xmlStr);



                //直接转发到另一个servlet
               request.getRequestDispatcher("MyChart.jsp").forward(request,response);
            }
        然后在另一个JSP文件中直接用SetDataXML
        <div id="charDiv"></div>
   <script type="text/javascript">
   //创建FusionCharts对象
   var chart1=new FusionCharts("<%=path%>/FusionChart_Evaluation/Doughnut3D.swf","fusionChartID","900","600");
   //设置数据文件,直接加载动态的XML文件 
   chart1.setDataXML("${xmlStr}");
   chart1.render("charDiv");//图片渲染的位置
   </script>
     网页跳转了之后就会出现Invalid data的问题,请问这到底哪里错了....

1个回答

showbo
showbo   Ds   Rxr 2016.02.26 17:44
已采纳
  xmlStr.append("<chart caption='每月销售饼状图' xAxisName='月份’ showNames='1' formatNumberScale='0'>");

月份后面那个单引号是全角的吧,改半角的,xml格式错误了

  xmlStr.append("<chart caption='每月销售饼状图' xAxisName='月份' showNames='1' formatNumberScale='0'>");
Cplusplusrookie
Cplusplusrookie 真的太感谢了,之前因为已经改了两次错误,总觉得照着代码打没可能打错,死都看不出来哪里错了,可能是我找bug的时候太不够耐心了吧。十分谢谢啦
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于使用FusionCharts生成图表时出现invalid xml data错误提示的解决方法
http://www.itokit.com/2011/1017/72360.html FusionCharts的确功能是够强大的。收集的功能估计更强大。在初次使用时,对着手册,一步一步操作,就是生成图表工具不成功。一直报“Invalid xml data”错误。 FusionCharts的确功能是够强大的。收集的功能估计更强大。在初次使用时,对着手册,一步一步操
fusioncharts之pie3D
FusionCharts will load here var myChart = new FusionCharts("/resources/swf/Pie3D.swf", "myChartId", "600", "400", "0", "0");
Fusioncharts 实时图表数据展现
转自:http://yklovejava-163-com.iteye.com/blog/1889949 下面介绍的是用FusionCharts制作实时刷新图的过程(FusionCharts确实太好用了,~~o(>_   1. 网上没什么例子可以参考,官网有,先下载FusionChartsSuiteXTEval.大概有164M(下载速度比较慢,估计得1~2个小时).
fusioncharts入门系列2之setDataURL和setDataXML
html代码: function init(){ var chart = new FusionCharts("fusioncharts/Column3D.swf", "myChartId" , "500", "300","0","0"); chart.setDataURL("date.xml");
关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法
关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法 题设: 经常使用FusionCharts图表的朋友可能会遇到这个问题.就是在FusionCharts显示的时候有时候会显示出不完整的图表,现象是只显示标题,但是标题不居中,同时看不见图表,或者是只显示Y轴,而X轴的数据全部都重叠在Y轴上,完全无法看清.查看FLASH加载完成,并且FLASH右键菜单弹出正常.
FusionCharts 设置字体大小和百分号
在说明文档Chart XML Reference栏目下就有详细的参数说明,针对不同的统计图表都用不同的参数说明。公共部分比如baseFont:设置字体样式;baseFontSize:设置字体大小,将中间加上baseFontSize=‘12’,字体就变成12号字了;还有numberPrefix、numberSuffix:前缀、后缀,根据说明中的提示“To use special characters
fusionchart 属性说明
1 labelDisplay  x轴显示方式 1)
fusionchart 显示中文乱码问题
fusionchart 显示中文乱码问题   2009-12-23 :  fusionchart 显示中文乱码问题:[项目所有涉及编码的时候都采用UTF-8] 解决方法 1:UTF-8 编码 【采用】 对应的jsp文件 加 BOM头~~ 2:jsp使用GBK编码【一种手段,没采用】   二、 对中文字符的支持 1. 让 FusionCharts支持中文 修改
使用protobuffer 序列化和反序列化出现 Invalid field in source data: 0 问题的解决
出现此问题的原因是,在使用 byte[] buffer= stream.GetBuffer()时,返回的byte[]不是完全的有效数据,而是在末尾有填充很多0的字节数组,因而在ProtoBuf.Serializer.Serialize时或ProtoBuf.Serializer.Deserialize时会抛出异常。正确的做法是,不使用stream.GetBuffer(),而使用stream.ToAr
FusionChart用XML和JSON两种格式提供数据源
(1)由于FusionChart的数据源格式有两种:XML和JSON,设计用两种格式提供数据源 (2)两种格式又分为路径格式(XMLUrl和JSONUrl)和字符串格式(XMLData和JSONData) (3)根据上述情况,设计出四种格式,分别为XMLUrl、JSONUrl、XMLData和JSONData (4)获取当前时间和当前秒数 (5)利用JQuery定时器原理 (6)采用定时器,结合hide()和show()方法,让四个图依次隐藏和显示