@Freerade

Как получить значение в php из js запроса?

Запрос js, должен написать в консоли браузера результат, а именно '222':
const res = await fetch('php/test.php', {
    method:'POST',
    body: JSON.stringify({'data': '222'})

})
const json = await res.json()
console.log(json)


php файл:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
   $a = json_decode($_POST['data']);
    echo json_encode(['test'=>$a]);
}

В результате приходит это:
{test: null}
При этом запрос проходит в проверку, но содержимое - '222' не вытягивается. Как правильно сделать нужно?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
SADFGHJAETJER
@SADFGHJAETJER
Потому, что никакого $_POST['data'] нет, что будет видно, если немного подебажить, а не бежать создавать вопрос.
PHP автоматически парсит тело запроса в глобальный объект $_POST только если их контент тайп: application/x-www-form-urlencoded или multipart/form-data.

Поэтому нужно или правильно запрос делать, или парсить сам поток ввода:
<?php
var_dump(json_decode(file_get_contents('php://input')));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы