Javascript 使用JS/AJAX下载IText.pdf
我有一个页面,创建一个Itext pdf文档,然后下载该文档。下面的代码就可以做到这一点。但是页面会刷新。我希望页面不必刷新。我认为这将提供更好的用户体验,这样页面表单输入就不会在页面刷新时消失 是否有更好的方法来处理此任务,从而不必刷新页面?是否可以对现有代码进行一些修改以避免页面刷新 labelReprint.js:Javascript 使用JS/AJAX下载IText.pdf,javascript,ajax,download,itext,Javascript,Ajax,Download,Itext,我有一个页面,创建一个Itext pdf文档,然后下载该文档。下面的代码就可以做到这一点。但是页面会刷新。我希望页面不必刷新。我认为这将提供更好的用户体验,这样页面表单输入就不会在页面刷新时消失 是否有更好的方法来处理此任务,从而不必刷新页面?是否可以对现有代码进行一些修改以避免页面刷新 labelReprint.js: $.ajax({ url: "labelReprint.aspx/DoLabelPrint", data: "{'type':'" +
$.ajax({
url: "labelReprint.aspx/DoLabelPrint",
data: "{'type':'" + lblType + "','scan':'" + scan + "','qty':'" + qty + "','split':'" + split + "'}",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (result) {
console.log('Downloading .pdf');
//pdf
var downloadpdf = $('<a id="downloadpdf" download="' + fileName + '.pdf" href="data:application/pdf;base64,' + result.d + '" >');
$('#download').append(downloadpdf);
document.getElementById("downloadpdf").click();
$("#downloadpdf").remove();
},
error: function (result) {
console.log(result.responseJSON.Message + "\n\r\n\r" + result.responseJSON.StackTrace);
}
});
任何想法或见解都将不胜感激 在Ajax的“完成”部分,输入以下代码:
var binaryString = window.atob(result);
var binaryLen = binaryString.length;
var bytes = new Uint8Array(binaryLen);
for (var idx = 0; idx < binaryLen; idx++) {
var ascii = binaryString.charCodeAt(idx);
bytes[idx] = ascii;
}
var blob = new Blob([bytes]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
var fileName = "filename.pdf";
link.download = fileName;
link.click();
var binaryString=window.atob(结果);
var binaryLen=binaryString.length;
var bytes=新的Uint8Array(二进制数);
对于(var idx=0;idx
var binaryString = window.atob(result);
var binaryLen = binaryString.length;
var bytes = new Uint8Array(binaryLen);
for (var idx = 0; idx < binaryLen; idx++) {
var ascii = binaryString.charCodeAt(idx);
bytes[idx] = ascii;
}
var blob = new Blob([bytes]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
var fileName = "filename.pdf";
link.download = fileName;
link.click();