2 qq 22591781 qq_22591781 于 2015.07.09 15:42 提问

ajax 返回的参数为什么在highcharts中不能被调用
 var smoney;
    $(function () {
          var nf;
          $("#selectYear").change(function(){
              nf= $('#selectYear option:selected') .val();
              $.ajax({
                     //要用post方式     
                   type: "Post",
                   //方法所在页面和方法名     
                   url: '<%=request.getContextPath() %>/servlet/InfoCountServlet?year='+nf,
                   async:false,
                  /*  contentType: "application/json; charset=utf-8",*/
                   dataType: "text", 
                   success: function (data) {
                       smoney = data;
                       tj(smoney);
                   }
                });
            });
      });

  function tj(smoney){
      alert(smoney);
        $('#container').highcharts({
            chart: {
                type: 'column'
            },
            title: {
                text: '进销信息统计直方图'
            },
            subtitle: {
                text: '统计年份: 2015年'
            }, 
            xAxis: {
                categories: [
                    '一月',
                    '二月',
                    '三月',
                    '四月',
                    '五月',
                    '六月',
                    '七月',
                    '八月',
                    '九月',
                    '十月',
                    '十一月',
                    '十二月'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: '金额 (万元)'
                }
            },
            tooltip: {
                headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                    '<td style="padding:0"><b>{point.y:.1f} 万元</b></td></tr>',
                footerFormat: '</table>',
                shared: true,
                useHTML: true
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: [{
                name: '进货额',
                data:[smoney]

            }, {
                name: '销售额',
                data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

            }, {
                name: '生活开支',
                data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

            }, {
                name: '利润',
                data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

            }]
        });
  }

下面是servlet:

 public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String year = request.getParameter("year");
        List<CountJavaBean> sellerList = countJavaBeanService.getSellerCountByMonths(year);
        if(Validator.isNotEmpty(sellerList)){
            Map<Integer,Double> map=new HashMap<Integer,Double>(); 
            for(int j=0;j<12;j++){
                map.put(j, 0.00);
                for(int i=0;i<sellerList.size();i++){
                    CountJavaBean bean = sellerList.get(i);
                    if(bean.getMonths()-1==j){
                        map.put(j, bean.getMoney());
                    }
                }
            }
            Collection<Double> c = map.values();
            Iterator it = c.iterator();
            StringBuffer moneys = new StringBuffer();
            for(;it.hasNext();){
                Double money = (Double) it.next();
                moneys.append(money+",");
            }
            moneys.deleteCharAt(moneys.length()-1);
            System.out.println("------------"+moneys.toString());
            response.getWriter().print(moneys.toString());
        }
    }

小弟初来咋到,请各位大能帮忙看下,是什么问题,纠结了N天了,感激不尽

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.09 15:48
 series: [{
name: '进货额',
data:[smoney]//这么写就是一个字符串的数组,数组长度是1也就是数组内容是"1,2,3"这么样子的,而不是你想象的data[0]是1,data[1]是2
改成
series: [{
name: '进货额',
data:smoney.split(",")
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Highcharts AJAX JSON JQuery 实现动态数据交互显示图表
Highcharts AJAX JSON JQuery 实现动态数据交互显示图表
ajax请求返回Json字符串运用highcharts数据图表展现数据
[1].[图片] Json字符串和highcharts数据图表展现.jpg 跳至 [1] [2] [2].[代码] Json字符串和highcharts数据图表展现 跳至[1] [2] 001 /* 002 * Filename: OQtyOrPriceReport.js
AJAX与highcharts的调用
本项目以SSH为基本框架,要根据数据库的数据动态生成图表,需要ajax的运用。首先需要掌握的是在SSH框架中的ajax的运用。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。以周支出堆叠图为例 首先对于需要生成图表的数据在后台进行分析处理,然后经过转义,生成能让前台HighChart调用的JSON数据data = "[{name:\
highcharts实现js绑定ajax返回的数据集合
产品中有需要用到统计的功能,然后由于项目需求,在页面加载统计图之前必须通过ajax异步获取数据然后解析绑定到highcharts上面去; 首先当前页面需要引入highcharts相关的js以及css文件等 其次是数据  ajax返回数据为json数据;要进行数据解析,第一次测试我是直接将解析好的数据集合赋值给highcharts的data里面(我想着解析过来已经是数组了),但是发现数据
Highcharts ajax获取json对象动态生成报表生成 .
http://blog.csdn.net/wsk7860/article/details/8751061
highcharts与ajax相结合,发现数据不显示的问题
在我进行结合时,遇到问题就是我们要在统计图上展示的数据拿不出来。将我们获取的值赋给highcharts,但是却不显示。我发现问题的所在:数据类型不对,highcharts这个希望的是数字类型,所以我们把这个进行类型的转换。简单的程序如下 $(function(){ //alert('1'); $.ajax({ type: "GET",
Highcharts ajax加载数据实例
这里我只给出重要代码 思路是先通过ajax请求数据库数据,返回回来数组,我这里以servlet为例。就知道url啥意思了。 <script> $(function () { var le=new Array(); $.ajax({ url: 'le', // dataType: "json", type:"pos
浅谈highcharts(echarts)通过ajax获取后台数据从而改变数据图
好久没写csdn博客了,随着工作项目的展开自己也越来懒了。。不过今天有点空余的时间,所以来写写博客。 恰巧这次的项目有图表这一块,所以就用到了highcharts和echarts。 我们都知道如果写纯静态的图表图很简单,那么如果写动态的图表图该如何写呢? 好了,不多BB了,言归正传! 1、引入图表所需要的js文件
highcharts折线图通过ajax异步获取服务器处理过的数据
 html&amp;gt;&amp;lt;!DOCTYPE&amp;lt;html lang=&quot;en&quot;&amp;gt; &amp;lt;head&amp;gt;&amp;lt;!-- 设置编码格式,导入需要的JS --&amp;gt;&amp;lt;title&amp;gt;http://blog.csdn.net/ime33 AJAX异步请求数据&amp;lt;/title&amp;gt; &amp;lt;meta http-equiv=&quot;keywords&quot;
Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图 后台代码大家根据自己的情况写并转JSON格式。在前台修改url,即可出柱形图