【发布时间】:2012-01-11 13:47:12
【问题描述】:
我想通过使用 jQuery 的 post 请求使用 ajax 下载文件。
这是我正在使用的 PHP 代码。
if (file_exists($file)) {
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readfile($file);
}
这就是 jQuery。
$('button.erp_ci_download').click(function(){
var formData = $('form#erp_customerinvoice').serialize();
$.ajax({
type: 'POST',
url: "App/Ajax/Excel/Download.php",
data: formData
});
});
这种方式不能下载吗?我尝试使用谷歌搜索,有人建议我这样做的方式相同。但在我的控制台中,它会显示一些垃圾值作为响应。
我哪里错了?
谢谢你..
【问题讨论】:
-
我认为无法通过 AJAX 下载。为什么不将用户重定向到下载页面并让他正常下载文件?
-
我认为不可能在 AJAX 请求中执行此操作。此外,这毫无意义,因为浏览器会将请求的标头识别为无法在浏览器中查看,并且无论如何都会弹出下载对话框。