第二次发送请求时数据重复

时间:2017-09-06 12:28:59

标签: javascript ajax request

我将文件发送到服务器:

var fd = new FormData();
fd.append('folder', 'html')
fd.append('permission', 0)
fd.append("file", file, file.name)

我从输入中获取文件, 我的要求是

$.ajax({
                       type: "POST",
                         url: getURI("fileupload"),
                          success: function (data) {
                            reader.onload = function (e) {
                               callback(data.body.url, {
                                alt: ''
                              });
                             };
                             reader.readAsDataURL(file);

                          },
                          error: function (error) {
          // handle error
              },
                async: true,
                  data: fd,
                  cache: false,
                  contentType: false,
                  processData: false,
                  timeout: 60000
                });

1)发送文件没问题 2)文件2发送:它发送,但它尝试发送第一个FormData,如果我尝试发送5个文件,它会发送最新的,但会尝试发送4个普遍的。

如何删除previos FormData ??

1 个答案:

答案 0 :(得分:0)

$.ajax({
    type: "POST",
    url: getURI("fileupload"),
    success: function (data) {
        reader.onload = function (e) {
            callback(data.body.url, {
                alt: ''
            });
        };
        reader.readAsDataURL(file);

        //
        // Clear file input here
        //
    },
    error: function (error) {
        // handle error
    },
    async: true,
    data: fd,
    cache: false,
    contentType: false,
    processData: false,
    timeout: 60000
});

在成功回调中,您应该手动清除文件输入。您可以找到更多信息here

之后,创建新的FormData fd实例:

fd = new FormData();

有关清除FormData对象的更多信息,您可以找到here