问题描述
我正在尝试使用此功能下载文件,但在首次 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 (将#修改为@)