Это похоже больше на проблему 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
(
)
Таким образом, кажется, что ни одна из моих данных на самом деле не поступает вообще. Что я здесь не так делаю ?!
Вы отправляете данные в теле запроса с заголовками «Content-type: application / json». В этом случае вы должны использовать метод ниже,
$data = file_get_contents("php://input");
$json = json_decode($data, true);
var_dump($json);
Других решений пока нет …