php - 检测 ajax 上传何时意外终止

标签 php javascript jquery ajax file-upload

我有这个ajax上传代码,它发送回数据,说明上传是否成功。然而,它只知道文件是否没有错误,并在文件上传后被移动到目标路径,如果上传在完成之前终止,则不会返回任何数据。有没有一种方法可以让我监听并检测上传意外终止的时刻并向页面发出警报?

$('#send').click(function() {

 var fileInput = $('#file')[0];
     var data = new FormData();

  for(var i = 0; i < fileInput.files.length; ++i){     
      data.append('file[]',fileInput.files[i]);
   }
     $.ajax({
    type:'POST',
    method:'POST',
    url:'upload.php',
    headers:{'Cache-Control':'no-cache'},
    data:data,
    contentType:false,
    processData:false,
    success: function(response){
        var return_data = response;

        if(return_data !== 'success') {
        $('#status').html('uploaded'); 
        }
        else if(return_data == 'success') {
           $('#status').html('upload failed'); 
        }         
      }
   });
});

在 upload.php 中:

if($_FILES['file']['error'][$key] == 0
   && move_uploaded_file($_FILES['file']['tmp_name'][$key],"video/test/$name")){
        echo "success";
 }else{
        echo "failed";

最佳答案

向您的 $.ajax 选项对象添加一个 error 方法。

关于php - 检测 ajax 上传何时意外终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15176944/

相关文章:

javascript - 使用 javascript 对元素进行计数

javascript - 使用 .attr() 时如何使 "change event"在选择下拉菜单上工作

javascript - 如何在 Javascript 中执行 shell 命令

javascript - php foreach 循环中的隐藏输入值未正确传递给 JQuery

php - 错误 4600 Zoho CRM 使用 cURL 插入记录

php - 即使安装了正确的 php 版本,为什么在 Composer 安装期间为过时的 php 版本出现版本不匹配?

php - 设置 mysql 日志记录相对于 DOCUMENT_ROOT 的路径

javascript - 存储一个数组以在不同页面上访问

JavaScript如何找到包含字符串的最接近的类

PHP If 语句混淆