如何解决使用 ajax 和 jQuery 中的函数调用下载 PDF 文件
我正在尝试使用此功能下载文件,但在首次 ajax 成功后无法执行该功能。我阅读了其他资源,但没有帮助,我试图从 2 天开始实现这一目标,并定期搜索没有发生任何事情。
请帮助我在第一次成功响应后创建此函数,它将调用该函数作为 DownloadFile();
我在第一个成功响应中返回这些数组 -
当前没有任何错误,只显示第一个成功响应显示并且没有运行 downlaodfile() 函数。
filename: "PO_21-22_0166.pdf"
path: "./folder/myfilename.pdf"
responseCode: "200"
status: "success"
请帮助我,我如何使它正确,以便我可以在我自己创建的代码的帮助下下载文件。 我在哪里做错了以及修复后会如何。
$.ajax({
cache: false,type: "POST",url: "example.com",cache: false,success: function(response) {
if (response.responseCode == '200') {
var fileName = response.filename;
var myurl = response.path;
function DownloadFile(fileName) {
//var myurl = response.path;
$.ajax({
url: myurl,xhr: function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 2) {
if (xhr.status == 200) {
xhr.responseType = "blob";
} else {
xhr.responseType = "text";
}
}
};
return xhr;
},success: function(data) {
//Convert the Byte Data to BLOB object.
var blob = new Blob([data],{
type: "application/octetstream"
});
//Check the browser type and download the File.
var isIE = false || !!document.documentMode;
if (isIE) {
window.navigator.msSaveBlob(blob,fileName);
} else {
var url = window.URL || window.webkitURL;
link = url.createObjectURL(blob);
var a = $("<a />");
a.attr("download",fileName);
a.attr("href",link);
$("body").append(a);
a[0].click();
$("body").remove(a);
}
},});
}
} else {
alert(response.message);
return false;
}
},});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。