页面需要定时刷新显示实时数据,直接location.refush会很明显的闪动页面,体验不好,其实可以用pjax的,但是这里只用一次就不那么麻烦了,来个简单的
下面的js放在上面的最后一个script标签里面,因为这里markdown两个放一块会乱格式
$(function () {
setInterval(reflush, 5000)// 定时5秒刷新一次
})
function reflush() {
$.get(location.pathname, function (data) {
// 该例子无需执行返回的js,如果需要执行可使用jquery的html(),而不是innerHTML
$("#tmp")[0].innerHTML= data // 不加载执行js, 查找资料说可以使用jquery的parseHTML的,但是我这里报未定义函数,暂不深究了
$("#data").html($("#tmp").find("#data").html()) // ajax返回的html页面内容临时放入tmp中,方便获取指定dom节点。替换掉原来界面的数据
$("#tmp")[0].innerHTML = ""
})
}
此时就可以无感知刷新页面了