qq_22591781 2015-07-09 07:42 采纳率: 0%
浏览 1298

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 2015-07-09 07:48
    关注
     series: [{
    name: '进货额',
    data:[smoney]//这么写就是一个字符串的数组,数组长度是1也就是数组内容是"1,2,3"这么样子的,而不是你想象的data[0]是1,data[1]是2
    改成
    series: [{
    name: '进货额',
    data:smoney.split(",")
    
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?