FormData.set()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Примечание: Эта возможность доступна в Web Workers.

Метод set() из интерфейса FormData присваивает новое значение существующему ключу внутри объекта FormData, или добавляет ключ/значение если до этого они не были установлены.

Разница между set() и FormData.append в том, что если заданный ключ уже существует, set() заменит данные в нем на новые, а FormData.append добавит новое значение к остальным в конец.

Синтаксис

Существует две формы использования данной функции: с двумя и тремя параметрами:

js
formData.set(name, value);
formData.set(name, value, filename);

Параметры

name

Имя поля, которому будет присвоен value.

value

Значение, присваиваемое полю. В варианте с двумя параметрами, это USVString, если нет, то оно будет конвертировано. В варианте с тремя параметрами это может быть Blob, File, или USVString, И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.

filenameНеобязательный

Имя файла, которое будет отправлено серверу (USVString), когда Blob или File прошёл проверку как второй параметр. Стандартное имя файла для Blob объектов это "blob".

Примечание: Если вы укажете Blob в качестве данных для включения в объект FormData, имя файла будет указано для сервера в заголовке "Content-Disposition" и может отличаться от браузера к браузеру.

Пример

Следующий код создаёт пустой FormData объект:

js
var formData = new FormData(); // Сейчас пустой

Вы можете установить для него пару ключ/значение, используя FormData.set:

js
formData.set("username", "Chris");
formData.set("userpic", myFileInput.files[0], "chris.jpg");

Спецификации

Specification
XMLHttpRequest Standard
# dom-formdata-set

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также