Данные формы, сериализованные с помощью JSON.stringify, недоступны из переменной $_POST.Php

Кемеровские программисты php общаются здесь
Anonymous
Данные формы, сериализованные с помощью JSON.stringify, недоступны из переменной $_POST.

Сообщение Anonymous »

Я создал приложение React, из которого вызываю свой сервер, построенный на PHP.
Я вызываю свой PHP-файл следующим образом:

Код: Выделить всё

const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: JSON.stringify({ name, username, password }),
};
console.log(requestOptions);

fetch('http://localhost/crud/requests/signup.php', requestOptions)
.then(res => res.json())
.then(data => console.log(data));
Вот что у меня есть в файле PHP:

Код: Выделить всё

if (isset($_POST) && !empty($_POST)) {
// do something
}
Когда я печатаю переменную $_POST, я получаю пустой массив. Даже $_RESPONSE пуст.
Но когда я попытался распечатать входной поток следующим образом:

Код: Выделить всё

print_r(file_get_contents('php://input'));
Вроде все в порядке. Может ли кто-нибудь объяснить, почему это происходит?
Я пытался прочитать это в документации, искал на некоторых форумах и в блогах, но ответы меня не удовлетворили.


Подробнее здесь: https://stackoverflow.com/questions/718 ... -post-vari

Вернуться в «Php»