前端:jQuery
后端:Spring
原来:使用$("form").submit()进行文件的下载,但是该方法不能获取callback函数,不能对下载过程进行监听,所以采用jQuery.fileDownload.js可以在下载完成时获取一个回调函数。
前端:
$.fileDownload(url,{
httpMethod: 'POST',
data:$("#scene_task_form").serialize(),
prepareCallback:function(url){
intervalCode = setInterval("exportProcess('#exportProcess')",500);//1000为1秒钟
},
successCallback:function(url){
$("#exportProcess").dialog("close");
window.clearInterval(intervalCode);
},
failCallback: function (html, url) {
$("body").infoTip({
message:"下载失败"
});
$("#exportProcess").dialog("close");
window.clearInterval(intervalCode);
}
});
后端:
在java代码中
需要进行如下操作:
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
jQuery以此判断下载是否成功。如果不添加上面的语句,则successCallback回调函数失效