Здравствуйте! В этом уроке речь пойдёт об отправке HTML-форм: с файлами и без, с дополнительными полями. И объекты FormData помогут нам с этим. Как вы, наверняка, догадались из его названия, это объект, представляющий данные HTML формы.
Конструктор:
let formData = new FormData([form]);
Если передать в конструктор элемент HTML-формы form, то создаваемый объект автоматически прочитает из неё все поля.
Его особенность заключается в том, что методы для работы с сетью, например fetch, позволяют указать объект FormData в свойстве тела запроса body.
Он будет соответствующим образом закодирован и отправлен с заголовком Content-Type: form/multipart.
То есть, для сервера это будет выглядеть как обычная отправка формы. Читать далее