0

我必须使用 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,因为文件生成时间很长。然后用户得到一个文件,我需要取消阻止我的表单......

你对此有什么想法吗?

4

2 回答 2

0

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

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

于 2012-09-21T07:47:18.477 回答
0

好的,谢谢大家!

我的解决方案是:

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

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

于 2012-09-21T10:40:59.040 回答