如何使用javascript检测php文件下载?

时间:2012-09-21 07:43:23

标签: php javascript jquery http-headers

我必须使用php标题下载文件

header("Cache-Control: no-cache, must-revalidate");
header("Content-Type: text/plain");
header('Content-Disposition: attachment; filename="'.$equip[1].'-config.txt"');
$downloadable=str_replace("\n", "\r\n", $res['result']);
echo $downloadable;

当用户点击下载按钮时,表单会获得一个带有旋转gif的jQuery块ui,因为该文件会生成很长时间。然后用户获取一个文件,我需要取消阻止我的表单......

你对此有什么想法吗?

2 个答案:

答案 0 :(得分:0)

只是一个想法:你不能发出AJAX请求来获取文件吗?收到AJAX响应后,立即取消阻止表单。如果出现问题(404,500等等),你也会获得状态

编辑: 好像它不会那样工作...但你不能通过AJAX请求创建文档,服务器响应实际的URL下载文件..?您可以在开始下载后直接取消阻止您的表单,因为该文件已经准备好并且不再需要花费太多时间

答案 1 :(得分:0)

好的,谢谢大家!

我的解决方案是:

  • 制作隐藏表格
  • 通过Ajax询问数据然后取消阻止其他表单
  • 使用jQuery将结果放入隐藏表单
  • 使用jQuery发布表单,返回txt

我希望它可以帮助其他需要它的人!但如果您知道其他更好的解决方案,请为每个人发布!