fetch не отправляет данные публикации - PullRequest
0 голосов
/ 09 июля 2020

У меня есть следующий фрагмент js:

    fetch('/some/webhook', {
        method: 'post',
        headers: { 'content-type': 'application/json' },
        body: JSON.stringify({test:'1'})
    }).then(function(res) {
        // do something here
    }).then(function(data) {
        // do something else here
    });

В течение нескольких часов я пытаюсь передать тело на свой сервер, но сценарий прослушивания ничего не видит в переменной $ _POST. Веб-перехватчик получает запрос. Простой:

die (var_dump($_POST));

приводит к пустому массиву, отображаемому в консоли, где я ожидал увидеть переменную test со значением 1.

Что не так?

1 Ответ

1 голос
/ 09 июля 2020

Способ отправки данных: php не будет заполнять переменную de _POST

Если вы хотите отправить содержимое json, вы должны сделать

$data = json_decode(file_get_contents('php://input'), true);

echo $data["test"];

Альтернативное решение , если вы предпочитаете, чтобы ваши данные были в _POST, вы должны отправить заголовок multipart/form-data и использовать new FormData(); в качестве тела fetch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...