FormData.append()
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.
io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ru/web/api/xmlhttprequest_api/index.md)
Метод append()
из интерфейса FormData
добавляет новое значение в существующий ключ внутри объекта FormData
, или создаёт ключ, в случае если он отсутствует.
Разница между FormData.set
и append()
в том, что если заданный ключ уже существует, FormData.set
заменит данные в нем на новые, а append()
добавит новое значение к остальным в конец.
Синтаксис
Существует две формы использования данной функции: с двумя и тремя параметрами:
formData.append(name, value);
formData.append(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(); // Currently empty
Вы можете добавлять пару ключ/значение с помощью FormData.append
:
formData.append("username", "Chris");
formData.append("userpic", myFileInput.files[0], "chris.jpg");
Также вы можете использовать обозначения массива для первого аргумента:
formData.append("userpic[]", myFileInput1.files[0], "chris1.jpg");
formData.append("userpic[]", myFileInput2.files[0], "chris2.jpg");
Эта техника позволяет упростить мультифайловую загрузку данных потому, что в результате структура данных является более благоприятной для цикла.
Спецификации
Specification |
---|
XMLHttpRequest Standard # dom-formdata-append |
Совместимость с браузерами
BCD tables only load in the browser