Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
⊗jsPmDtPFD 23 of 61 menu
Бесплатный курс: Практика на Реальных Проектах и Работы в Портфолио! Начало 11 ноября. Жми для записи!

Метод POST через FormData в AJAX в PHP

Давайте теперь будем передавать данные методом POST с помощью класса FormData. Для начала давайте напишем базовый пример отправки формы. Будем добавлять данные через метод set:

form.addEventListener('submit', async function(event) { let num1 = this.querySelector('[name="num1"]').value; let num2 = this.querySelector('[name="num2"]').value; let formData = new FormData(); formData.set('num1', num1); formData.set('num2', num2); let response = await fetch('/ajax.php', { method: 'POST', body: formData, }); event.preventDefault(); });

Класс FormData позволяет упростить приведенный выше код в том случае, когда мы хотим отправить на сервер все поля формы. В этом случае можно передать ссылку на форму в конструктор класса FormData. В результате значения всех полей формы будут получены автоматически:

form.addEventListener('submit', async function(event) { let formData = new FormData(this); // this указывает на форму let response = await fetch('/ajax.php', { method: 'POST', body: formData, }); event.preventDefault(); });

Можно переписать код еще компактнее:

form.addEventListener('submit', async function(event) { let response = await fetch('/ajax.php', { method: 'POST', body: new FormData(this), // сразу передадим объект в body }); event.preventDefault(); });

Дана форма с десятью инпутами. В инпуты вводятся числа. Отправьте эту форму через AJAX на сервер. Пусть сервер результатом вернет среднее арифметическое отправленных чисел.