Я пытаюсь протестировать простую страницу PHP, используя расширение Postman для Chrome. Когда я отправляю параметры URL, скрипт работает нормально (например, переменные доступны в параметре $_REQUEST
). Когда я отправляю их как параметры x-www-form-urlencoded
параметр $_REQUEST
PHPSESSID
содержит только PHPSESSID
.
Сценарий:
<?php var_export($_REQUEST); ?>
Когда я отправляю параметры URL, $_REQUEST
включает их:
Но когда я отправляю их как переменные POST
, $_REQUEST
не включает их:
Что мне не хватает?
Я устанавливал URL-адрес в Postman как http://
но Apache перенаправлялся на https://
и почему-то переменные POST удалялись по пути.
После того, как я изменил его на https://
, переменные POST работали правильно.
См. Также: https://stackoverflow.com/a/28461500/704803
Я столкнулся с такой же проблемой в PostMan и Advance REST Client. Я проверил через скрипача и обнаружил, что моя полезная нагрузка не конвертируется в формат JSON.
Я передаю свои данные в Body как x-www-form-urlencoded
Вы можете исправить это, используя Content-Type как application / x-www-form-urlencoded в заголовке запроса.
Проверьте тип содержимого в заголовке. У меня возникла проблема с отправкой сырого JSON и моего содержимого в качестве приложения / json в заголовок POSTMAN.
мой php видел jack все в почте запроса. Только после того, как я изменил тип контента на application / x-www-form-urlencoded с JSON в текстовом поле RAW и его тип как JSON, мое приложение PHP начало видеть данные сообщения. не то, что я ожидал, когда работала с сырым json, но теперь работала над тем, что мне нужно.
Просто используйте Body Tab
и введите post parameters
. Обратите внимание, что Body Tab
отключена, если выбрана функция Get
.
Учебник со скриншотами .
У меня была такая же проблема. Чтобы исправить это, я добавил следующие заголовки:
Content-Type: application/json
Я должен был вручную добавить тип содержимого, даже если у меня также был тип «json» в параметрах поля исходного сообщения.
Когда вы отправляете параметры с помощью x-www-form-urlencoded
вам необходимо установить заголовок для запроса, используя Content-Type
качестве application/x-www-form-urlencoded
Для меня сервер ожидал HTTPS-запросы, но я не указал это в URL-адресе. Крюк достигнет сервера, но тело будет пустым.
Иногда проблема версий в «Почтальоне»:
У меня такая же проблема. При отправке данных используется самая старая версия почтальона.
В то время я получил пустые данные json на стороне сервера.
И я исправлю эту проблему , как только я удалю старую версию почтальона и установил с последней версией.
Имела ту же проблему, это было связано с сообщением заголовка от почтальона, которое не соответствовало данным, которые я отправлял. Отправлял данные формы и заголовок, где был установлен x-www-form-urlencoded, поэтому он отображал пустые данные в контроллере / функции … Очень глупая ошибка …