[英]Get Request Status on href
我正在使用href链接从服务器下载文件。 我想在完全从服务器下载文件后做一些活动。 与XMLHTTP一样,我可以在href上设置一些回调函数,该函数将在请求完成时调用。
我的代码是这样的
///link to download report
<div class='report-download'><a href='' id='downloadreq'></a></div>
$("#report-download").click(OnClick);
///onlick function
functon OnClick()
{
///start progress bar
$("#downloadreq").attr("href","8001.html?data=dowloadreport");
//stop progress bar
}
我想在下载时显示进度条,我有代码来启动和停止进度条窗口。但是当我插入代码来停止进度条时,它会在实际下载完成之前执行并且进度条消失。 如何确定报告下载已完成(或)是否可以确定下载已完成。 报告下载所需的时间将取决于要下载的记录数。 所以我不能等待默认时间段并停止进度条。
我认为,如果文件下载已经完成,我们就无法知道event
。 如果我是你,我会做这样的事情:
$_SESSION['lock'] = true;
的变量$_SESSION['lock'] = true;
并在开始将流发送到输出之前设置它 $_SESSION['lock'] = false;
解锁变量$_SESSION['lock'] = false;
lock
值以查看文件是否已完成。 让我们通过AJAX每2-5秒说一次。 lock
是false
,我可以做任何需要,但我不知道如何显示进度条,甚至大约。 请注意,如果您不使用类似$_SESSION
东西,则锁定机制根本不起作用,因为脚本每次都会作为一个新的运行,而不知道最近的变量等。
更新:
您可能想要使用$_SESSION['finished']
而不是$_SESSION['lock']
,这在理解源代码方面更有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.