Я пытаюсь декодировать файл json через публикацию php с помощью ajax
$.ajax({
type:'GET',
url:'http://147.175.98.165/zadanie6/index.php/meniny/3',
data:'{"stat":"Cesko","datum":"all","dni":"meniny"}',
success:function(msg){
$("#vypis").html(msg);
}});
Если я попробую этот код для декодирования файла JSON
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
$data=$_GET;
var_dump($data);
var_dump(json_decode($data));
var_dump(json_decode($data, true));
Я получу следующий результат
array(1) { ["{"stat":"Slovensko","datum":"all","dni":"meniny"}"]=> string(0) "" } NULL NULL
Я не знаю, есть ли у меня плохой доступ к декодированию данных или я плохо публикую данные. Есть ли способ получить значение этого $ _GET ["stat"] или что-то в этом роде?






Вы неправильно передаете data. Передайте его как объект:
url:'http://147.175.98.165/zadanie6/index.php/meniny/3',
data: {"stat":"Cesko","datum":"all","dni":"meniny"},
А на стороне PHP используйте только $_GET['param']:
var_dump($_GET['stat']); // 'Cesko'
Если вам нужны все данные в одном ключе, то
data: {dataInfo: {"stat":"Cesko","datum":"all","dni":"meniny"}},
И в php $_GET['dataInfo']
Узнайте разницу между текстовым литералом и литералом объекта. Прямо сейчас вы отправляете одно строковое значение как
data, и, по-видимому, это не то, что вам нужно.