下载进度条
需求
下载时数据多不清楚大概下载饿多少或者是否正在下载?
添加下载进度条。
思路
success保存下载对象,将进度保存到success,前端在下载得同时,每固定时间访问success,将对象得值取出来数据处理。写到进度条里边进行展示。
代码
前端
var trueType = false;
// var num=1; //如果是0,不访问后台session,1访问后台session
function openForm(){
if(trueType){
setTimeout(openForm,200);
}
$.ajax({
type: 'get',
async:false,
url:serverPath +"/ptnUploadDownload/getSession/"+1,
success: function (data) {
//正在查询数据...
//
// "共"+polPolicyList.size()+"条数据,"+"正在导出第"+i+1+"条数据。"
//正在写入excel表中。
if(data!=null && data!=""){
if(data.content){
if(data.content=="正在查询数据..."){
$("#progressBar3").text(data.content);
}else if(data.content.includes("正在查询数据...,")){
var content_array=data.content.split(',');
var newsumStr = "";
for(var i=0;i<content_array.length;i++){
if(i==1) newsumStr=content_array[i];
}
$("#progressBar2").text(newsumStr+"%");
document.getElementById("progressBar1").style.width=newsumStr+"%";
$("#progressBar3").text("正在查询数据...");
}else if(data.content=="正在写入excel表中。"){
$("#progressBar3").text(data.content);
$("#progressBar2").text("100%");
document.getElementById("progressBar1").style.width="100%";
// num=0;
layer.closeAll();
$("#progressBar3").text("开始处理数据....");
$("#progressBar2").text("0%");
document.getElementById("progressBar1").style.width="0%";
trueType = false;
$.ajax({
type: 'get',
async:false,
url:serverPath +"/ptnUploadDownload/getSession/"+0,