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
добавит новое значение к остальным в конец.
Синтаксис
Существует две формы использования данной функции: с двумя и тремя параметрами:
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
объект:
var formData = new FormData(); // Сейчас пустой
Вы можете установить для него пару ключ/значение, используя FormData.set
:
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