WordPress AJAX / PHP $ _POST объект всегда пуст

Это похоже больше на проблему PHP, чем на WordPress, но это на сервере под управлением WP, так что я включаю его на всякий случай.

У меня есть объект JS, например, так:

{
"Name": "Test Names",
"Company": "Test Company",
"Email": "TestEmail@mail.com",
"Phone": "234556",
"FoundPlattarHow": "Internet",
"Interest": "Building",
"ReceiveUpdates": "1"}

В настоящее время у меня просто пустой файл PHP, в /lib/contact.php:

<?php
echo "HELLO" . $_POST['Email'];
prettyPrint($_POST);

function prettyPrint($a) {
echo "\n";
print_r($a);
echo "\n";
}

?>

Я использую POSTMAN (результаты совпадают, когда я делаю настоящий запрос AJAX из моего браузера), и отправляю JS выше как application/JSON как POST-запрос к скрипту.

Я получаю вывод:

HELLO
Array
(
)

Таким образом, кажется, что ни одна из моих данных на самом деле не поступает вообще. Что я здесь не так делаю ?!

2

Решение

Вы отправляете данные в теле запроса с заголовками «Content-type: application / json». В этом случае вы должны использовать метод ниже,

$data = file_get_contents("php://input");
$json = json_decode($data, true);
var_dump($json);
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector