今天在修改bug时,有测试提出,当数据量很大时,点击导出按钮,页面没有反应,要等到很长时间,才会提示用户下载,用户体验不是很好。在程序去后台请求数据时,前台页面应该给一个提示“正在导出,请稍候。。。”。我的想法是,用ajax实现。类似这样:
$.ajax({
type:”post”,
url:url,
beforeSend:function(){
//定义的div图层显示
},
success:function(){
//定义的div图层隐藏
}
});
这样做,可以让提示显示出来,只是,下载不能用了。我的下载,是在处理后台数据的时候,直接在服务器端生成Excel文件,然后再直接调浏览器的下载,写到页面上。
在网上找了好多例子,都没有解决,有人说ajax不支持这样的下载。后来,我自己就这样写了。这样写,有一点不好,就是,提示和下载不是同步的。也就是说,提示可能出来后,然后又隐藏了,去后台请求的数据还没处理完,还是要等一段时间,下载才可能出来。下面写出来,有人有更好的方法,可以贴出来分享一下。
function exportExcel(){//这个方法是点击“导出”按钮触发的
//定义的div图层显示(省略)
window.location.href=url;//url是去后台处理导出的地址
//定义的div图层隐藏(省略)
}
至于,div图层的定义,可以引用下面的地址:
http://bbs.youkuaiyun.com/topics/350107232
jsp页面导出功能,ajax异步导出,友好提示

最新推荐文章于 2025-07-09 15:40:59 发布
