Вебсправочник
Ваш первый сайт

Тело запроса: отличить JSON от данных формы

Вкладка Payload помогает понять, что браузер действительно отправил серверу. Упражнение отделяет видимые поля интерфейса от фактического формата HTTP-запроса.

Назначение

Вкладка Payload помогает понять, что браузер действительно отправил серверу. Упражнение отделяет видимые поля интерфейса от фактического формата HTTP-запроса.

Как это работает

POST может содержать JSON, URL-кодированную форму или multipart/form-data. Content-Type должен соответствовать телу. Когда браузер формирует FormData, он сам добавляет необходимую границу multipart в заголовок.

Пример

Вариант JSON:
Content-Type: application/json

{"title":"Учебная заметка"}

Вариант формы:
Content-Type: application/x-www-form-urlencoded

title=Learning+note

Что должно получиться

Два примера передают похожие сведения, но имеют разные представления. Серверный обработчик должен разбирать выбранный формат. Это образцы, а не инструкция отправить реальные данные на внешний сервис.

Граница применения и частая ошибка

Не задавайте multipart/form-data вручную без корректной границы, если тело создаёт FormData. Скрытые и отключённые поля могут участвовать в отправке по-разному. Не копируйте пароли, файлы и токены из Payload в публичный отчёт.

Самостоятельная проверка

Создайте локальную форму с одним несекретным полем и посмотрите её запрос. Сопоставьте name, Content-Type и тело. Затем сравните с JSON-запросом своего тестового приложения, не меняя формат сервера наугад.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.