如何从FormData中删除值

时间:2014-01-29 21:58:39

标签: javascript jquery ajax forms jquery-data

Hereappend文件到FormData的一种方式:

  var data = new FormData();
  jQuery.each($('#file')[0].files, function(i, file) {
          data.append('file-'+i, file);
  });

可以这样做吗?

     data[i].remove();???
 or  data[i] = file;??

iI如何从data

中删除或修改值

2 个答案:

答案 0 :(得分:22)

除了将项目附加到FormData对象之外,您无法执行任何操作。见the Spec。如果在实际构造对象之前使用字典/对象来存储要添加/修改的所有值,那会更好。

var data = {};
jQuery.each($('#file')[0].files, function(i, file) {
  data['file-'+i] = file;
});

//modify the object however you want to here

var formData = new FormData();
for (var key in data) {
  formData.append(key, data[key]);
}

答案 1 :(得分:4)

我知道这个帖子已经老了,但我刚发现:https://developer.mozilla.org/en-US/docs/Web/API/FormData/delete

我能帮忙。您可以使用formData.delete(name)删除带有" name"的formData条目。键。