javascriptjqueryajaxformsjquery-data

How to remove value from FormData


Here is a way to append file to FormData :

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

is it possible to do as below ?

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

how iIcan remove or modify a value from data


Solution

  • You cannot do anything other than append items to a FormData object. See the Spec. It would be better if you use a dictionary/object to store all the values you want to add/modify before you actually construct the object.

    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]);
    }