Ajax发布图片

时间:2015-06-07 02:21:39

标签: javascript ajax post

所以下面的函数完全按照我想要的方式工作,除了它只发送一个初始文件(参数是一个文件数组)。当我尝试调整当前函数时,它会以我不理解的方式影响脚本......

老实说,我可能只是遍历数组,然后忽略脚本的其余部分,但我想发帖,看看是否有其他人可以解释发生了什么,因为它让我感到烦恼,我无法弄清楚...

任何帮助都将不胜感激!!

    function readfiles(files) {
       // debugger;
        var formData = tests.formdata ? new FormData() : null;
        for (var i = 0; i < files.length; i++) {
          if (tests.formdata) formData.append('file ', files[i]);
          previewfile(files[i]);
        }

        // now post a new XHR request
        if (tests.formdata) {
          var xhr = new XMLHttpRequest();
          xhr.open('POST', './file_upload_parser.php');
          xhr.onload = function() {
            progress.value = progress.innerHTML = 100;
          };

          if (tests.progress) {
            xhr.upload.onprogress = function (event) {
              if (event.lengthComputable) {
                var complete = (event.loaded / event.total * 100 | 0);
                progress.value = progress.innerHTML = complete;
              }
            }
          }

          xhr.send(formData);
        }
    }

1 个答案:

答案 0 :(得分:0)

尝试

formData.append('file[]', files[i]);

[]表示php中用于请求数据的数组。