Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ajax jquery中对文件上传进行排队? 财政司司长(一){ var formData=new formData(); files=$(“#upload”).get(0).files; append(“upfiles[]”,files[i]); $.ajax({ url:“upload.php”, 键入:“post”, 数据:formData, cache:false, processData:false, contentType:false, 成功:功能(数据){ 警报(“完成”); i++; } }_Javascript_Jquery_Ajax_File Upload - Fatal编程技术网

Javascript 如何在ajax jquery中对文件上传进行排队? 财政司司长(一){ var formData=new formData(); files=$(“#upload”).get(0).files; append(“upfiles[]”,files[i]); $.ajax({ url:“upload.php”, 键入:“post”, 数据:formData, cache:false, processData:false, contentType:false, 成功:功能(数据){ 警报(“完成”); i++; } }

Javascript 如何在ajax jquery中对文件上传进行排队? 财政司司长(一){ var formData=new formData(); files=$(“#upload”).get(0).files; append(“upfiles[]”,files[i]); $.ajax({ url:“upload.php”, 键入:“post”, 数据:formData, cache:false, processData:false, contentType:false, 成功:功能(数据){ 警报(“完成”); i++; } },javascript,jquery,ajax,file-upload,Javascript,Jquery,Ajax,File Upload,我想排队等待上传文件。在我上面的代码中,当第一个文件上传时,第二个文件处于挂起状态。但如果在选择文件后再次单击“上载”按钮,则第一个文件开始上传,第一个文件添加到上一次单击“上载”按钮时 如何将ajax上传文件排队,或者换句话说,如何将下一个文件添加到当前ajax?我认为您想做什么: 用户选择4个文件进行上传 用户点击按钮 您希望对每个文件执行ajax调用,但它们不能重叠 如果是这样,那么您可以这样做: <script> funcupload(i) { var formData

我想排队等待上传文件。在我上面的代码中,当第一个文件上传时,第二个文件处于挂起状态。但如果在选择文件后再次单击“上载”按钮,则第一个文件开始上传,第一个文件添加到上一次单击“上载”按钮时


如何将ajax上传文件排队,或者换句话说,如何将下一个文件添加到当前ajax?

我认为您想做什么:

  • 用户选择4个文件进行上传
  • 用户点击按钮
  • 您希望对每个文件执行ajax调用,但它们不能重叠
如果是这样,那么您可以这样做:

<script>
funcupload(i) {
var formData = new FormData();
files = $("#upload").get(0).files;

formData.append("upfiles[]", files[i]);

$.ajax({
    url:"upload.php",
    type: 'post',
    data: formData,
    cache: false,
    processData: false,
    contentType: false,
    success:function(data) {
alert("Complete");
i++;
}
}
</script>

<input type=\"file\" id=\"upload\" name=\"upfiles[]\" multiple>
<input type=\"button\" value=\"Upload\" name=\"upload\" onclick=\"funcupload(0)\">

如果为空,您可以再次调用该函数。

谢谢。但是,如果用户在上传pervious 4文件时选择了其他4个文件,则新文件将重叠在pervious 4文件上以供上传!@kelly我已更改代码以反映您的问题。
var filesToUpload = null;

var uploadNextFile(counter)
{
    $.ajax({
        url:"upload.php",
        type: 'post',
        data: files[i],
        cache: false,
        processData: false,
        contentType: false,
        success:function(data) {
            if (counter < filesToUpload.length)
               uploadNextFile(counter++);
            else
               filesToUpload = null;

        }
    }
}
filesToUpload.push(/*extra files*/);