FormData.set()

Вы читаете английскую версию этой статьи, так как пока нет перевода на данный язык. Помогите нам перевести эту статью!

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

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

Примечание: Данный метод также доступен в Web Workers.

Синтаксис

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

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');

Specifications

Specification Status Comment
XMLHttpRequest
Определение 'set()' в этой спецификации.
Живой стандарт

Browser compatibility

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
setChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки

See also