我有一个大部分工作按钮的以下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的代码,但下载不会发生。我从未真正理解成功:参数一切都很好。我认为这是我应该编辑以使其工作的地方
答案 0 :(得分:1)
当你说"打印网址...会生成一个自动下载的pdf文件",我认为你的意思是,它包含一个Content-Disposition: Attachment
响应标题,意图是用户可以在本地保存pdf。我相信在这种情况下你实际上并不想要AJAX,因为它不允许用户保存下载。相反,提交一份实际表格。只要响应具有Content-Disposition: Attachment
标题,就不应该更改页面,但如果您想要双重安全,则可以将表单的目标设置为iframe或{{1 }}
_blank
答案 1 :(得分:0)
success:
挂钩的意思是你的代码可以处理返回值,这将是ajax调用脚本将输出的任何内容。
在这种情况下,您将需要此功能来显示您创建的pdf文件,我假设它将设置iframe的源或插入返回到DOM的对象。