我正在服务器上生成一个文件,这需要一些时间。为此,我有一个隐藏的iframe,然后将.src属性设置为aspx文件,即iframe.src=“/downloadfile.aspx”
当发生这种情况时,我想给一个Web服务打个电话,返回进度。为此,我认为我可以使用window.setInterval或window.setTimeout,但只要设置iframe-src属性,javascript就会被阻塞。
有人知道如何绕过这个问题,或者尝试一种不同的方法吗?
我也尝试过处理程序,但请求从未到达服务器,所以我假设是浏览器/javascript问题。
//获取文件的函数
function GetFile() {
setTimeout(GetProgress, 1000);
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
iframe.src = "downloadFile.aspx";
}
/*不起作用-获取进度日志数据,但在iframe完成并向用户显示文件下载对话框之前从未收到该数据的函数。*/
function GetProgress() {
$.post('progress.file', function(data) {
console.log(data);
setTimeout(GetProgress, 1000);
});
}