【发布时间】:2015-05-27 09:12:42
【问题描述】:
通过 jquery 中的post 方法,我尝试下载 pdf,但它不起作用。文件没有被下载。我哪里做错了?
main.php
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
</head>
<body>
<script>
function downloadpdf(){
alert("working");
$.post('download.php',{pdf:'Intro.pdf'},function(data){if(data=="y"){alert("Downloaded");}});
}
</script>
<button onclick="downloadpdf();">download</button>
</body>
</html>
下载.php
<?php
if(isset($_POST['pdf'])){
$bbpdf=$_POST['pdf'];
header("Content-disposition: attachment; filename=$bbpdf");
header("Content-type: application/pdf");
header('Content-Length: ' . filesize($bbpdf));
readfile($bbpdf);
echo "y";
}
【问题讨论】:
-
会发生什么,您预计会发生什么? “不起作用”是一个相当薄弱的问题描述..:P
-
文件没有被下载。我想下载一个pdf文件。
-
有什么错误吗? js控制台说什么?我可以立即看到的一件事是
echo "y";将在文件末尾添加y,我猜这不是故意的。您只想打印文件中的数据。 -
没有错误。实际上,我在 download.php
if(isset($_POST['pdf'])){echo "y";}中尝试过,效果很好。所以,header下载 pdf 的问题