FormData.set()
Метод set() из интерфейса FormData присваивает новое значение существующему ключу внутри объекта FormData, или добавляет ключ/значение если до этого они не были установлены.
Разница между set() и FormData.append в том, что если заданный ключ уже существует, set() заменит данные в нем на новые, а FormData.append добавит новое значение к остальным в конец.
Примечание: Данный метод также доступен в Web Workers.
Синтаксис
Существует две формы использования данной функции: с двумя и тремя параметрами:
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');
Specifications
| Specification | Status | Comment |
|---|---|---|
| XMLHttpRequest Определение 'set()' в этой спецификации. |
Живой стандарт |
Browser compatibility
BCD tables only load in the browser