Почему $_POST возвращает пустой Array. AJAX запрос Jquery

(Я делаю все локально через OpenServer) Я отправляю данные из js в php но почему то $_POST возвращает пустой массив и я не могу с ним работать. При этом запрос обрабатывается и возвращает значение 0 в console.log. Когда пишешь echo($_POST) или же echo($data) оно возвращает Array

JS


$(document).on('click', '.btn-save', function() {
    let btn = $(this),
        edit_btn = btn.siblings('.btn-edit'),
        btns = btn.parents('.btns'),
        id = btn.parents('.table-item').data('id'),
        text = btns.siblings('.message'),
        text_msg =  text.val()

    $.post('../../../php/functions.php', {id, text_msg}, function(data) {
        $(btn).attr('disabled', true)
        $(text).attr('disabled', true)
        $(edit_btn).removeAttr('disabled')

        console.log(data);
    })
})

PHP

<?php

$data = $_POST['data'];
$id = (int)$data['id'];
$msg = $data['text_msg'];

$json = file_get_contents('../users.json');
$users = json_decode($json, true);

foreach($users as $param) {
    echo($id . ' ' . $param['id']);
    if($param['id'] == $id) {
        $param['message'] = $msg;
        $contents = json_encode($users);
        file_put_contents('../users.json', $contents); 
        echo('Success');
    } else {
        echo('Error');
    }
}
?>

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

Автор решения: Бахтияр Умутбаев

Я нашел правильный ответ и оказалась что нужно было писать

$data = $_POST;

Все данные хранились не в $_POST['data'], а в самом $_POST

→ Ссылка