Данные формы, сериализованные с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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