highcharts与ajax的应用

时间:2025-03-22 16:38:20


当获取大数据量时,为了缓解浏览器的压力,以免造成页面停留,需要把后台的数据分批提取到页面。方法:

<1>前台js:

<script type="text/javascript">
  var lastdata = [];
  function showdata(beginid){
   
       $.ajax({
    
        type:'POST',//默认是GET
              _yizheng = lastdata;      initChart();     });                 //设置延迟时间     setTimeout(function(){      if(index


<2>后台action:

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws IOException, InterruptedException {

  ("text/html;charset=utf-8");

  String index = ("index");// 当前记录id
  int currentid = 0;// 当前返回的记录数下标
  int total = 0;// 总记录数

  if (!"".equals(index) && index != null) {
   currentid = (index);
  }
  PrintWriter pw = ();

  List all = new ArrayList();

  for (int i = 0; i < 100; i++) {
   double num = () * 100;
   ((int) num);
  }

  List each = new ArrayList();
  for (int i = currentid-20; i < currentid; i++) {// 根据ajax传递的id将数据分块传递,每次取20个数据
   if(currentid<=()){
    ((i));
   }
  }
  
  JSONArray json = (each);// 转化成json对象
  ((), currentid);// currentindex ->json
  (() + 1, ());// total ->json
  (json);
  
  ("each json is "+json);
  // (currentid);
  return null;

  // return new ActionForward("/");
 }