在我的项目中,我想下载文件,下载后将删除此文件。
我在第一个ajax中设置了async:false以确认下载文件已完成。
//this is download file code:
$.ajax({
dataType:'json',
type:'POST',
async: false,
data:{files:files},
url:'oat.php',
success:function(data){
delFile=data.name;
alert(delFile);
window.location=delFile;
}
});
//this is delete file code:
$.ajax({
type:'POST',
data:{delFile:delFile},
url:'delFileoat.php',
success:function(data){
}
});
但不幸的是,删除总是在下载之前,因为它需要时间下载,但只删除文件一秒钟。
所以我总是得到关于“无法在服务器中找到文件”的消息。
成功下载文件后window.location=delFile
是否有返回值?
答案 0 :(得分:1)
async: false
已弃用。您可以在success
回调中删除您的文件。如下所示
$.ajax({
dataType: 'json',
type: 'POST',
data: {
files: files
},
url: 'oat.php',
success: function(data) {
// do your stuff
$.ajax({
type: 'POST',
data: {
delFile: delFile
},
url: 'delFileoat.php',
success: function(data) {}
});
}
});