使用JQuery结合HIghcharts实现从后台获取JSON实时刷新图表

转自:http://bolan392.iteye.com/blog/764163


   项目做了一个报表,可以实时的观察呼叫中心的电话访问量,之前的版本是使用JFreechart做的,使用一段时间后出现内存溢出,服务器的内存使用量会变得很大,所以改用Ajax前台加载数据的方式实现实时报表功能,查了很久选择了JQuery结合Highcharts的方式,Highcharts是一个JS实时报表API,下面给出基本代码:

   首先,要添加JQuery和Highcharts的引用:

 

Js代码   收藏代码
  1. <script type='text/javascript' src='js/jquery-1.3.2.js'></script>  
  2. <script type='text/javascript' src='js/highcharts.js'></script>  

  

   页面的body部分需要有个层用来渲染图表:

 

Java代码   收藏代码
  1. <body>  
  2.     <div id="container" style="height: 400px"></div>  
  3. </body>  

 

   在JS中声明图表:

 

 

Js代码   收藏代码
  1. <script type='text/javascript'>  
  2.     //<![CDATA[   
  3.     $(function(){  
  4.                  //声明报表对象  
  5.         var chart = new Highcharts.Chart({  
  6.             chart: {  
  7.                 //将报表对象渲染到层上  
  8.             renderTo: 'container'  
  9.         },  
  10.                 //设定报表对象的初始数据  
  11.         series: [{  
  12.             data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]          
  13.         }]  
  14.     });  
  15.   
  16.         function getForm(){  
  17.                                                 //使用JQuery从后台获取JSON格式的数据  
  18.             jQuery.getJSON('http://localhost:8080/JQueryPIC/ajax'nullfunction(data) {  
  19.                                                                 //为图表设置值  
  20.                 chart.series[0].setData(data);  
  21.             });  
  22.         }  
  23.   
  24.       
  25.         $(document).ready(function() {  
  26.             //每隔3秒自动调用方法,实现图表的实时更新  
  27.             window.setInterval(getForm,3000);   
  28.               
  29.         });  
  30.       
  31.   
  32.     });  
  33.     //]]>   
  34.     </script>  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值