Как удалить значение из FormData
Здесь - это путь к append
файлу 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;??
как iIcan удалить или изменить значение из data
Ответы
Ответ 1
Вы не можете делать ничего, кроме добавления элементов к объекту FormData. См. 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]);
}
Ответ 2
Я знаю, что эта ветка устарела, но я просто нашел это: https://developer.mozilla.org/en-US/docs/Web/API/FormData/delete
Мне кажется, это могло бы помочь. Вы можете использовать formData.delete(name)
, чтобы удалить запись formData с ключом "name".
Ответ 3
@acidrums4 Не должен быть отмечен как правильный ответ, потому что это не то, что @talkhabi стремится. И это то, что я ищу сейчас, три года спустя: это НЕПОСРЕДСТВЕННО удалить записи (значения) из объекта FormData. Не весь ключ, это не приемлемо. Но fooobar.com/info/6511162/....