Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.03.2011, 13:15
Новичок на форуме
Отправить личное сообщение для Wolf11 Посмотреть профиль Найти все сообщения от Wolf11
 
Регистрация: 17.03.2011
Сообщений: 5

Передача объекта по 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', ), )


Объясните, пожалуйста, как такая трансформация получилась?

Заранее всем спасибо за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2011, 13:30
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Может, я не всё понял, но где тут трансформация? Оба кода по своей сути одинаковы.
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2011, 15:27
Новичок на форуме
Отправить личное сообщение для Wolf11 Посмотреть профиль Найти все сообщения от Wolf11
 
Регистрация: 17.03.2011
Сообщений: 5

В 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 => значение массив...

Так ведь? Мне показалось, что структура несколько поменялась.

Последний раз редактировалось Wolf11, 17.03.2011 в 15:29.
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2011, 15:52
Интересующийся
Отправить личное сообщение для Добрый слоник Посмотреть профиль Найти все сообщения от Добрый слоник
 
Регистрация: 05.03.2011
Сообщений: 23

Цитата:
то из JS передаётся
уточни куда передается?

Цитата:
Мне показалось, что структура несколько поменялась.
Поясни, пожалуйста, а что ты ожидаешь увидеть в php-скрипте.

Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2011, 16:13
Новичок на форуме
Отправить личное сообщение для Wolf11 Посмотреть профиль Найти все сообщения от Wolf11
 
Регистрация: 17.03.2011
Сообщений: 5

Сообщение от Добрый слоник Посмотреть сообщение
уточни куда передается?


Поясни, пожалуйста, а что ты ожидаешь увидеть в php-скрипте.

Как куда? В php скрипт.
Хотелось увидеть некий многомерный массив...

У меня на самом деле всё работает как надо. Но я хочу разобраться как это работает
По факту получается, что из 2-мерного массива при передаче получился многомерный?
Ответить с цитированием
  #6 (permalink)  
Старый 17.03.2011, 16:35
Интересующийся
Отправить личное сообщение для Добрый слоник Посмотреть профиль Найти все сообщения от Добрый слоник
 
Регистрация: 05.03.2011
Сообщений: 23

Цитата:
Хотелось увидеть некий многомерный массив...
дык, ты его и видишь
массив
array ( 0

элементы которого
0 =>

являются массивами
0 => array


Что тебе еще надо?
Ответить с цитированием
  #7 (permalink)  
Старый 17.03.2011, 16:48
Новичок на форуме
Отправить личное сообщение для Wolf11 Посмотреть профиль Найти все сообщения от Wolf11
 
Регистрация: 17.03.2011
Сообщений: 5

Мне надо понять, как это получилсь)))
Ответить с цитированием
  #8 (permalink)  
Старый 18.03.2011, 16:33
Интересующийся
Отправить личное сообщение для Добрый слоник Посмотреть профиль Найти все сообщения от Добрый слоник
 
Регистрация: 05.03.2011
Сообщений: 23

Тогда так:
Заходим, читаем, внимательно читаем - так браузер общается с сервером.

После этого у тебя должно остаться в голове на всегда следующее:

От браузера к серверу идет только текст.
От сервера к браузеру идет только текст.

Далее, из ссылки которую я указал выше, читаешь про методы GET и POST.
Этими методами ты пользуешься в своем волшебном "AJAX".
Обращаешь внимание на то, как передаются данные серверу.

После этого у тебя должно остаться в голове следующее:

У меня где-то есть JS функция, которая отправляет запрос на сервер. Эта функция преобразует мой объект "data" в текст.

Найди эту функцию и разложи ее по каждой строчке.

После этого должен остаться последний вопрос: "как в пхп получается массив, если сервер получил текст".

Открываешь любой учебник по пхп и читаешь про переменные $_GET и $_POST Например тут в частности тут

После этого, я думаю у тебя ни один объект JS не будет передаваться ни по AJAX, ни другими магическими способами
Ответить с цитированием
  #9 (permalink)  
Старый 18.03.2011, 17:50
Новичок на форуме
Отправить личное сообщение для Wolf11 Посмотреть профиль Найти все сообщения от Wolf11
 
Регистрация: 17.03.2011
Сообщений: 5

Ога, у меня будут передаваться сплошные 0 и 1
Тем не менее всё стало понятнее. Спасибо за ответ.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача объекта в ajax -> success tazododu AJAX и COMET 4 05.11.2010 17:46
Передача файлов на клиента средствами AJAX GRIG AJAX и COMET 10 16.07.2010 16:23
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 09:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 16:24
Помогите настроить Ajax tooltip Jeckerson AJAX и COMET 1 14.08.2009 15:31