Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Json в массив


Автор: Aver78 3.3.2020, 20:50
Есть такой js код
Код

let param = {
            name: 'aaaa',
            id: 111
        };
        $.ajax({
            url: 'index.php',
            type: 'POST',
            data: {
                'param': param,
            },
            success: function( data ) {
                console.log(data);
            }
        });


Код

echo $_POST['param'];


В итоге результатом console.log(data) является слово "array"
То есть  из js  в  'param' мы отправляем json, а на входе $_POST['param'] уже массив.

Может это какая то новая фишка PHP 7.3, просто я не в курсе ?

Автор: Oldshelf 4.3.2020, 14:58
Код

let param = {
            name: 'aaaa',
            id: 111
        };


Разве здесь не два ключа со значениями?

Автор: Oldshelf 4.3.2020, 15:57
Скорее всего, дело в способе формирования тела запроса на стороне JS.

Автор: Aver78 5.3.2020, 11:48
Цитата

Разве здесь не два ключа со значениями?


Два. Но такая запись является объектом, а не массивом.

Цитата

Скорее всего, дело в способе формирования тела запроса на стороне JS


Так вон он, весь способ формирования, указан в js коде.

Автор: Oldshelf 5.3.2020, 12:38
Цитата(Aver78 @  5.3.2020,  11:48 Найти цитируемый пост)
Так вон он, весь способ формирования, указан в js коде.

Да, но эти данные дальше обрабатываются JQuery. То есть, из них создаётся запрос с перечислением, определённым образом, имён и значений переменных.

Проверил на PHP 5.3 результат тот же, что и на PHP 7.3.

Автор: Aver78 5.3.2020, 13:12
Так то - да. Может конечно у jquery новые тараканы наросли. Раньше такого не было. 
Там еще муть какая то прет. 
Если отправляю этот массив обратно через print_r, то да, 2 значения приходит html строкой. А если меня тип ответа сменить на json(в $.ajax) , то значения прилетает уже 4 , добавляется expire и type. 
Раньше такого точно не было. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)