本文共 1401 字,大约阅读时间需要 4 分钟。
使用Ajax之后,效果就是图会根据后台数据实时变化,不会有加载动画。
首先,本人没用使用任何前端框架,用的是原始的Ajax,不需要导入任何文件。 代码如下:function userAjax() { var dom = document.getElementById("userContainer"); var myChart = echarts.init(dom); var app = {}; option = null; var xmlhttp = getXMLHttpRequest(); // 绑定回调函数 xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var Ajaxdata = []; var Ajaxcats = []; var i = 0; var jsonObj = eval("(" + xmlhttp.responseText + ")"); for ( var key in jsonObj[0]) { // alert(key + ':' + jsonObj[0][key]); Ajaxcats[i] = key; Ajaxdata[i] = jsonObj[0][key]; i++; } var series = []; series.push({ data : Ajaxdata, type : 'bar', label : { show : true, position : 'top' }, }); option = { title : { text : '近12月注册用户统计', subtext : '纯属虚构', x : 'center' }, xAxis : { type : 'category', data : Ajaxcats, axisLabel : { rotate : '30', } }, yAxis : { type : 'value' }, grid : { right : '0px', }, series : series }; ; if (option && typeof option === "object") { myChart.setOption(option, true); } } }; // 3.open xmlhttp.open("GET", "/shixi/userAjax"); // 4.send xmlhttp.send(null);}
然后在用过setInterval函数设置定时调用这个函数即可实现功能,后台的话将数据存储到map中,然后转换为json数据,通过
response.getWriter().write(json.toString());
将数据传到前台。
其实很多框架中都封装了Ajax,如jQuery中,使Ajax的使用更加简洁方便,以后有写的话在来更新。转载地址:http://krkti.baihongyu.com/