【发布时间】:2016-04-07 19:13:50
【问题描述】:
我想下载一个用于 jquery ajax 响应的 pdf 文件。 Ajax 响应包含 pdf 文件数据。我试过这个solution。我的代码在下面给出,但我总是得到一个空白的 pdf。
$(document).on('click', '.download-ss-btn', function () {
$.ajax({
type: "POST",
url: 'http://127.0.0.1:8080/utils/json/pdfGen',
data: {
data: JSON.stringify(jsonData)
}
}).done(function (data) {
var blob = new Blob([data]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "Sample.pdf";
link.click();
});
});
【问题讨论】:
-
尝试用
XMLHttpRequest替换jQuery.ajax()参见stackoverflow.com/questions/12876000/… -
为什么需要为此使用 AJAX?没有它,下载文件会更容易、更可靠。
-
您不能使用
json响应制作pdf。它应该是HTML响应,并且它不适用于所有浏览器。在给定的前。它返回Url表示 HTML 响应。 -
这里我使用网络服务来获取 json 数据的格式化 pdf 文件。响应pdf文件数据以
%PDF-1.4开头 -
您必须在
success然后.done以及您正在测试的browser版本中编写代码。 ` Blob([data])` 在某些浏览器中不起作用。
标签: javascript jquery ajax pdf