0

我有一个名为 download.php 的文件并在其中调用 getpdf 函数。

当用户单击下载按钮时,我通过 ajax 调用 download.php 来下载 pdf 文件。但什么也没发生,也没有出现下载窗口。我在 firebug Net 选项卡中检查了它,并且在单击事件时请求了 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);

问题是什么?你能帮我吗?

4

1 回答 1

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();
    });
});
于 2012-12-28T13:51:13.017 回答