通过ajax请求下载PHP文件
问题描述:
我试图通过ajax请求下载文件。 我有下面的代码在我的PHP文件下载中心通过ajax请求下载PHP文件
$filedata="File data here"
header("Content-type: application/octet-stream");
header("Content-Disposition:attachment; filename=report.txt");
header('Content-Transfer-Encoding: binary');
header("Pragma: public");
header("Expires: 0");
echo $filedata;
它给我Ajax响应但不提供文件下载对话框。有什么解决方案? 在此先感谢。
答
我认为ajax阻止了这个请求。
由于它从服务器读取的ajax可能不会触发文件保存对话框。
是的。它不会触发保存对话框。是否有其他解决方案来显示保存对话框? – Rahul 2010-10-29 14:34:10
请勿使用AJAX请求。只需直接指向url的URL(document.location)(用于GET请求)或构建一个隐藏表单并提交POST请求。 – 2010-10-29 15:37:41
或者对于文件下载,只需添加一个链接。如果浏览器获取内容,则它通常不会更改页面,而只是下载文件并保存,保留在当前页面上。如果您想确定,请将target =“_ BLANK”添加到标签中,并将其下载到新的浏览器窗口中。 – 2010-10-29 19:12:44