Nic*_*ick 1 php jquery post document attachment
在这里略显疯狂.我正在使用jQuery.post进行Ajax调用,如下所示:
$.post('php/print.php',{data:dS},function(res){... },"text");
Run Code Online (Sandbox Code Playgroud)
我从print.php返回(作为测试):
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=test.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "Testing-2-3!";
echo "</body>";
echo "</html>";
Run Code Online (Sandbox Code Playgroud)
据Firebug说,数据很好,包括标题.但是如何让浏览器(在本例中为Firefox)提示用户保存附件?
谢谢.
这根本不可能.AJAX请求永远不会导致用户提示.
但是,您可以简单地使请求返回例如包含URL的JSON或纯文本,然后用于location.href = ...;重定向到它; 这将导致您正在寻找的提示.
如果请求总是导致文件下载,您也可以考虑使用常规表单而不是使用AJAX; 如果响应触发下载对话框,则前一页仍将保留在浏览器窗口中.