我有一个名为download.php的文件,并在其中调用getpdf函数。
当用户点击下载按钮时,我通过ajax调用download.php下载pdf文件。但没有任何事情发生,也没有下载窗口。我在firebug Net选项卡中检查了它,并在click事件中请求download.php。它的大小也会发生变化,表明文件正在从其位置读取,但没有下载窗口。
这是getpdf代码:
function getpdf($id) {
header('Content-Type: application/pdf');
readfile('/san/theo-books/PDFs/'.$id.'.pdf');
exit;
}
这里是download.php代码:
$pdf_id = $_POST('pdi');
echo getpdf($pdf_id);
有什么问题?你能帮助我吗?
答案 0 :(得分:0)
这是完整的回发版本。它没有使用jQuery Ajax,因为Popup下载窗口需要完整的回发:
<a id="pdf-10" href="#">PDF Export</a>
$(document).ready(function () {
$('a[id^="pdf"]').click(function (event) {
event.preventDefault();
var pdfExportPath = "/san/theo-books/PDFs/";
var $a = $(this);
var postId = $a.attr('id').replace("pdf-","");
var form = $('<form action="' + pdfExportPath + '" name="pdf' + postId + '" id="pdf' + postId + '" method="POST"> <input id="id" name="id" type="hidden" value="' + postId + '" /></form>');
$(form).appendTo('body');
form.submit();
});
});