--- title: FormData.set() slug: Web/API/FormData/set translation_of: Web/API/FormData/set ---
{{APIRef("XMLHttpRequest")}}
Метод set() из интерфейса {{domxref("FormData")}} присваивает новое значение существующему ключу внутри объекта FormData
, или добавляет ключ/значение если до этого они не были установлены.
Разница между set()
и {{domxref("FormData.append")}} в том, что если заданный ключ уже существует, set()
заменит данные в нем на новые, а {{domxref("FormData.append")}} добавит новое значение к остальным в конец.
Примечание: Данный метод также доступен в Web Workers.
Существует две формы использования данной функции: с двумя и тремя параметрами:
formData.set(name, value); formData.set(name, value, filename);
name
value
USVString
, если нет, то оно будет конвертировано. В варианте с тремя параметрами это может быть Blob
, File
, или USVString
, И снова, если ни один из них не указан в значении то оно будет конвертировано в строку.filename
{{optional_inline}}USVString
), когда Blob
или File
прошёл проверку как второй параметр. Стандартное имя файла для Blob
объектов это "blob".Примечание: Если вы укажете Blob
в качестве данных для включения в объект FormData
, имя файла будет указано для сервера в заголовке "Content-Disposition" и может отличаться от браузера к браузеру.
Следующий код создаёт пустой FormData
объект:
var formData = new FormData(); // Сейчас пустой
Вы можете установить для него пару ключ/значение, используя {{domxref("FormData.set")}}:
formData.set('username', 'Chris'); formData.set('userpic', myFileInput.files[0], 'chris.jpg');
Specification | Status | Comment |
---|---|---|
{{SpecName('XMLHttpRequest','#dom-formdata-set','set()')}} | {{Spec2('XMLHttpRequest')}} |