Передача объекта по AJAX. Помогите разобраться
Здравствуйте всем!
Если верить console.log, то из JS передаётся Object {feilds[0][left]="33", feilds[0][top]="37", feilds[0][value]="Значение1", feilds[1][left]="139", feilds[1][top]="132", feilds[1][value]="Значение2"} Но php скрипт принимает array ( 0 => array ( 'value' => 'Значение1, 'top' => '37', 'left' => '33', ), 1 => array ( 'value' => 'Значение2', 'top' => '132', 'left' => '139', ), ) Объясните, пожалуйста, как такая трансформация получилась? Заранее всем спасибо за помощь. |
Может, я не всё понял, но где тут трансформация? Оба кода по своей сути одинаковы.
|
В JS объект формировался так:
var feilds=jQuery('.draggable'); var data; data=new Object(); for (i=0; i<feilds.length; i++){ data['feilds['+i+'][value]']=jQuery(feilds[i]).text(); data['feilds['+i+'][top]']=jQuery(feilds[i]).css('top').replace("px",""); data['feilds['+i+'][left]']=jQuery(feilds[i]).css('left').replace("px",""); console.log(data); }; console.log(data); Ну я понимаю так: ключ feilds[0][left] => значение 33, ключ feilds[0][value] => значение Значение1 и т.д. А в php ключ 0 => значение массив, в котором ключ value => значение Значение1 и т.д. Потом ключ 1 => значение массив... Так ведь? Мне показалось, что структура несколько поменялась. |
Цитата:
Цитата:
:) |
Цитата:
Хотелось увидеть некий многомерный массив... У меня на самом деле всё работает как надо. Но я хочу разобраться как это работает:) По факту получается, что из 2-мерного массива при передаче получился многомерный? |
Цитата:
массив array ( 0 элементы которого 0 => являются массивами 0 => array Что тебе еще надо? :) |
Мне надо понять, как это получилсь:))))
|
Тогда так:
Заходим, читаем, внимательно читаем - так браузер общается с сервером. После этого у тебя должно остаться в голове на всегда следующее: От браузера к серверу идет только текст. От сервера к браузеру идет только текст. Далее, из ссылки которую я указал выше, читаешь про методы GET и POST. Этими методами ты пользуешься в своем волшебном "AJAX". Обращаешь внимание на то, как передаются данные серверу. После этого у тебя должно остаться в голове следующее: У меня где-то есть JS функция, которая отправляет запрос на сервер. Эта функция преобразует мой объект "data" в текст. Найди эту функцию и разложи ее по каждой строчке. После этого должен остаться последний вопрос: "как в пхп получается массив, если сервер получил текст". Открываешь любой учебник по пхп и читаешь про переменные $_GET и $_POST Например тут в частности тут После этого, я думаю у тебя ни один объект JS не будет передаваться ни по AJAX, ни другими магическими способами :) |
Ога, у меня будут передаваться сплошные 0 и 1:)
Тем не менее всё стало понятнее. Спасибо за ответ. |
Часовой пояс GMT +3, время: 04:09. |