jsp页面导出功能,ajax异步导出,友好提示

改进导出功能提升用户体验
在面对大量数据导出时,通过使用AJAX实现在页面上显示“正在导出,请稍候…”的提示,同时在后台处理数据并直接生成Excel文件进行下载,以改善用户体验。该方法虽然实现了提示与下载的分离,但确保了用户能够实时了解进度。

今天在修改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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值