目前在写一个监控系统,可以通过选择日期显示对比图,使用的morris.bar柱形图目前遇到个问题,每次选择日期后会刷新界面,我需要使用异步,对图像进行重绘,但是没找到morris的重绘方法(ps:我是大四的实习生,后台开发的,对前端只是实在有限)想法是把存放柱形图的div empty一下,在重新绘制柱形图就可以了,但是发现重绘图像与原图像相同(数据在controller中保存在modelMap中,发现异步发送的请求不会覆盖我以前存放的数据),导致柱形图无法正确的重绘。大腿们,谁了解下morris.bar的重绘,如何实现有效的重绘,$result,并不能得到实时的返回数据。
var date = $("#datetimepicker3").val();
var url = window.document.location.href;
var contextPath = url.split("?")[0];
$.ajax({
url : contextPath + "?datepicker=" + date,
success : function() {
var comparison_data = $result;
$('#graph-bar').empty();
Morris.Bar({
element : 'graph-bar',
data : comparison_data,
xkey : 'week',
ykeys : [ 'lastWeek', 'theWeek' ],
labels : [ '上周', '本周' ],
barColors : [ '#414e62', '#6dc5a3' ]
});
}
});
var date = $("#datetimepicker3").val();
var url = window.document.location.href;
var contextPath = url.split("?")[0];
$.ajax({
url : contextPath + "?datepicker=" + date,
success : function() {
var comparison_data = $result;
$('#graph-bar').empty();
Morris.Bar({
element : 'graph-bar',
data : comparison_data,
xkey : 'week',
ykeys : [ 'lastWeek', 'theWeek' ],
labels : [ '上周', '本周' ],
barColors : [ '#414e62', '#6dc5a3' ]
});
}
});
controller中返回的String会先解析为view,当该view不存在时,以json返回。
这种方法可以试试。