servlet-ajax 返回的参数为什么在highcharts中不能被调用

问题描述

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天了,感激不尽

解决方案

 series: [{
name: '进货额',
data:[smoney]//这么写就是一个字符串的数组,数组长度是1也就是数组内容是"1,2,3"这么样子的,而不是你想象的data[0]是1,data[1]是2
改成
series: [{
name: '进货额',
data:smoney.split(",")
时间: 2024-12-23 10:28:16

servlet-ajax 返回的参数为什么在highcharts中不能被调用的相关文章

ajax返回中文乱码,servlet中的显示乱码,post提交的乱码问题,编码大总结

ajax|servlet|编码|问题|显示|中文|中文乱码 ajax返回中文乱码问题解决使用ajax获取服务器数据返回给客户端,出现中文乱码.在之前的一个ajax应用中指定codepage=936,将所有页面编码都指定为GB2312即可解决.这 次的应用中却无起作用了,经过多次的试验,客服端的编码应该绝对没有问题的.可以判断问题一定出在服务器端.稍微分析一下可知虽然服务器端指定了文件的编 码格式,但对于服务器输出流就成为了怀疑的对象.由于使用MS SQL2000,采用unicode编码,所以返回

jquery访问servlet并返回数据到页面的方法_AJAX相关

本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet;  import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder;  import javax.servlet.ServletExceptio

jquery访问servlet并返回数据到页面的方法

本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下:package com.panlong.servlet; import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder; import javax.servlet.ServletException; 

Servlet+Ajax实现智能搜索框智能提示功能

利用无刷新技术智能变换搜索框的提示,同百度搜索 效果图 其基本原理: 1.给搜索框编写js绑定事件onkeyup(键盘输入时).onfocus(当鼠标点击搜索框外的时候清空提示) 2.首先获得用户输入.之后将获得的数据传给服务器,服务器将数据传给后台,后台获取服务器传来的数据进行处理,得到关联数据,向前端返回json格式,前端通过回调函数,将返回来的json解析成文本,将文本传输到搜索框下方的展示窗 如下为支持json的jar包 search.jsp <%@ page language="

ajax快速解决参数过长无法提交成功的问题_AJAX相关

查了很多资料都说,get方法的参数是有限制的,post方法的参数的长度是无限制,这也是post相比get的优势一直. 在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功.比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application/json;charset=utf-8", da

jquery ajax返回值与无返回值问题

  jquery ajax 返回值有很多类型如有html,text,json,xml类型了,我们这些值都可以在ajaxp处理是直接使用匿名函数来直接获取,下面我整理内个jquery ajax 返回值的例子给各位参考参考. jquery中常用的ajac有 $.ajax() , $.post , $.get() ,$.load()了. 例子  代码如下   $.post("test.jsp",  { name: "cssrain", time: "2008/0

jQuery通过Ajax返回JSON数据

  jQuery通过Ajax返回JSON数据          最近在使用JQuery的ajax方法时,要求返回的数据为json数据,在处理的过程中遇到下面的几个问题,那就是采用不同的方式来生成json数据的时候,在$.ajax方法中应该是如何来处理的,下面依次来进行说明. 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据. JSON(JavaScript

Ajax 返回字符串的过滤实现代码_AJAX相关

JS代码如下. 在调用Ajax返回后.一个奇怪的问题.返回的resultString值是"ok"但是跟字符串"ok"比较确不相等. Ajax调用out.println()返回的都添加了哪些参数? 放开注释的部分也过滤不掉. 哪位高手遇到过类似的问题. 如何解决的. 请说一下.out.println();返回的到底是个啥. Js代码 复制代码 代码如下: // 本地下载 function FTPTest(ip, port, username, password, fi

JQuery中Ajax()的data参数类型实例分析_jquery

本文实例分析了JQuery中Ajax()的data参数类型.分享给大家供大家参考,具体如下: 前面简单分析介绍了<ajax中data传参的两种方式>,对于ajax参数传递方式有了初步的了解,这里就来进一步分析一下ajax中data参数的类型. 假如现在有这样一个表单,是添加元素用的. <form id='addForm' action='UserAdd.action' type='post'> <label for='uname'>用户名</label>:&