如何确保文件是否已成功下载

时间:2017-12-19 06:55:56

标签: javascript php ajax

在我的项目中,我想下载文件,下载后将删除此文件。

我在第一个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是否有返回值?

1 个答案:

答案 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) {}
    });
  }
});