使用jquery .ajax发送数据以生成pdf文件

时间:2015-08-02 02:40:42

标签: jquery ajax pdf

我有一个大部分工作按钮的以下jquery代码,但我错过了一步。

$('#download').on('click', function(e) {
    var data = {
        header: $('#header').html(),
        title: $('#title').html(),
        table: $('#nfl').html(),
        rules: $('#rules').html(),
    };

    e.preventDefault();

    $.ajax({
        url: 'print',
        method: 'post',
        data: data,
        success: function(returnValue) {


        }
    });
});

它将数据发送到打印网址,该网址将生成自动下载的pdf文件。我可以在firebug中看到生成pdf的代码,但下载不会发生。我从未真正理解成功:参数一切都很好。我认为这是我应该编辑以使其工作的地方

2 个答案:

答案 0 :(得分:1)

当你说"打印网址...会生成一个自动下载的pdf文件",我认为你的意思是,它包含一个Content-Disposition: Attachment响应标题,意图是用户可以在本地保存pdf。我相信在这种情况下你实际上并不想要AJAX,因为它不允许用户保存下载。相反,提交一份实际表格。只要响应具有Content-Disposition: Attachment标题,就不应该更改页面,但如果您想要双重安全,则可以将表单的目标设置为iframe或{{1 }}

_blank

答案 1 :(得分:0)

success:挂钩的意思是你的代码可以处理返回值,这将是ajax调用脚本将输出的任何内容。

在这种情况下,您将需要此功能来显示您创建的pdf文件,我假设它将设置iframe的源或插入返回到DOM的对象。