Вопрос по xmlhttprequest

Есть код такого формата (просто для теста):

let gus = 'stroka1';

    function send_data (data){

    let xhr = new XMLHttpRequest();
    xhr.open('POST', '/add-session.php', true);
    xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
    let json = JSON.stringify(data);
    console.log(json)

    xhr.send(json);
    xhr.onload = function() {
        if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка
            alert(`Ошибка ${xhr.status}: ${xhr.statusText}`); // Например, 404: Not Found
        } else { // если всё прошло гладко, выводим результат
            alert(`Готово, получили ${xhr.response.length} байт`); // response -- это ответ сервера
         }
        };

    };

send_data(gus);

Как мне принять данные в add-session.php?


Ответы (1 шт):

Автор решения: Vadizar

Как получить POST JSON в PHP:

function get_json(){
    $postData = file_get_contents('php://input');
    $data = json_decode($postData, true);
    var_dump($postData, $data);
}

Или же если отправили через $_POST, то соответственно можно его получить так же и на сервере:

function get_json(){
    $data = json_decode($_POST['data'], true);
}
→ Ссылка