[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получаю тело запроса
McLotos
Всем привет.
Возникла внезапная проблема с приемом сервером ajax-запросов (или я просто уже забыл как это делается).
Посылаю запрос на сервер, но сервер не видит данных в запросе, он видит что request_method = post, но данных типа нет.
А вот php://input видит эти данные
Как получить данные с запроса?
Для тестирования использую https://goo.gl/4biAza
Процесс запроса и ответ сервера на скриншоте
user posted image

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
brevis
а если так?
{"email": "a@g.com"} -> email=a@g.com


_____________
Чатик в телеге
AllesKlar
ты отправил в body сырые данные, их тогда и нужно читать, как сырые и самому парсить.
$REQEST, как и $POST пытаются распарсить переменные, но у тебя их нет.

body = 'email=foo@site.com', тогда встретишь распарсенный $POST ( $POST['email'])

_____________
[продано копирайтерам]
McLotos
Цитата (brevis @ 21.02.2018 - 16:16)
а если так?
{"email": "a@g.com"} -> email=a@g.com

Логично, это делается через json_decode

Цитата (AllesKlar @ 21.02.2018 - 16:23)
ты отправил в body сырые данные, их тогда и нужно читать, как сырые и самому парсить.
$REQEST, как и $POST пытаются распарсить переменные, но у тебя их нет.
body = 'email=foo@site.com', тогда встретишь распарсенный $POST ( $POST['email'])

Не понял. как если в $_REQUEST и в $_POST пусто, как отловить данные в запросе?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
AllesKlar
Цитата (McLotos @ 21.02.2018 - 12:28)
Не понял. как если в $_REQUEST и в $_POST пусто, как отловить данные в запросе?


$_POST - это не тело post запроса, это распарсенные данные из тела, если их удасться распарсить. Формат их должен быть var1=value1&var2=value2&....varN=valueN

Если ты в теле post отправил что-либо другое, например {"email":"foo@site.com"}, то переменная $_POST будет пустой, читай из потока сырые данные и парси их сам, т.к. php не знает, как ты их там закодировал.

_____________
[продано копирайтерам]
McLotos
Понял. Данные нужно передавать не в теле запроса, а в параметрах.
user posted image

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
AllesKlar
нет, параметры запроса, это GET параметры, ты это на скрине можешь увидить.
Хотя, если ты используешь $_REQEST, то тебе всё равно

если же ты хочешь получить данные в $_POST, то твое body должно быть
email=a@g.com


_____________
[продано копирайтерам]
SlavaFr
Lotos.
просто открываешь боди
$entityBody = file_get_contents('php://input');

а потом декодируешь джесон.
$entity= jsond_decode(trim($entityBody));

print_r($entity);

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.