Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2015, 10:02
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Связанные между собой данные при передачи по GET
Здравствуйте Уважаемые пользователи!

Ближе к делу, имеются на сайте определенные данные (в форме), которые отправляются на обработку серверу по нажатию на кнопку, так вот, данные связаны между собой и постоянно связь разная т.к. пользователь выбирает разные данные (те которые ему нужны), какую структуру данных применить и как, чтобы на стороне сервера я мог понять какие данные между собой связаны? Хочу добавить то, что массивы не подходят.
Может быть, JSON или есть что-то специальное? Поделитесь опытом, друзья!
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2015, 10:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от zhurchik
так вот, данные связаны между собой и постоянно связь разная т.к. пользователь выбирает разные данные (те которые ему нужны), какую структуру данных применить и как, чтобы на стороне сервера я мог понять какие данные между собой связаны? Хочу добавить то, что массивы не подходят.
Ты считаешь, что на основе этой "информации" можно давать какие-то дельные советы?
Ответить с цитированием
  #3 (permalink)  
Старый 19.03.2015, 11:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Хочу добавить то, что массивы не подходят. Может быть, JSON или есть что-то специальное?

Ага, "заказное" ) А что такое JSON?
Ответить с цитированием
  #4 (permalink)  
Старый 19.03.2015, 13:11
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

laimas,
Ну json это, по сути, тот же самый массив, но все же именно сами массивы в JS работают иначе
Ответить с цитированием
  #5 (permalink)  
Старый 19.03.2015, 13:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

JSON, это всего лишь способ описывающий различные данные, которыми могут быть строки, массивы, объекты, и представляет собой строку. А массивы они везде массивы, сами они не могут работать, а то что в JS меньше методов работы с ними, не означает что в JS массивы иные.

В JS нет ассоциативных массивов, это да, но есть объекты, что для РНР будь они ему переданы, будет являться обычным ассоциативным массивом, и которых вам с лихвой хватит что-то там связать.
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2015, 14:03
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

laimas,
Если со стороны клиента будет отправлена строка в формате json то достаточно ли на стороне сервера поместить эту строку в функцию json_decode и если она вернет не null то уже обрабатывать его как массив с соответствующими правилами? Или еще какие то проверки нужно осуществлять?
Ответить с цитированием
  #7 (permalink)  
Старый 19.03.2015, 14:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Можно, но зачем вам JSON со стороны клиента, если можно отправить просто массив?
Ответить с цитированием
  #8 (permalink)  
Старый 19.03.2015, 15:34
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

laimas,
Я думал отправить массив, но это слишком извращенно, вот смотрите:
Так будет выглядеть массив в адресной строке

option[param1][param2][param3][param4]=1

И таких массивов может быть и 5 и 10 и параметров может быть больше, вот только на конце значения будут меняться, то-бишь:

option[param1][param2][param3][param4]=1&option[param1][param2][param3][param4]=2&option[param1][param2][param3][param4]=3&option[param1][param2][param3][param4]=n.....

На выходе получается очень много повторений, а вот с JSON таких повторений не будет.

Что скажете?
Ответить с цитированием
  #9 (permalink)  
Старый 19.03.2015, 16:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А кто вас заставляет такое руками писать? Если асинхронный обмен и используется jQery, то можете использовать один из ее методов сериализации формы: .serialize(), .serializeArray().

Если все-таки хочется JSON, то JSON.stringify(object), лишь бы ваш безразмерный массив не превышал глубину рекурсии.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События при перемещении между вкладками only_dimon Events/DOM/Window 2 05.02.2015 01:21
Разница между датами при onchange Ptichka Events/DOM/Window 0 06.04.2012 18:10
скрипты конфликтуют между собой coshak AJAX и COMET 0 21.04.2011 11:01
Запустить при заргузке код между <script></dcript> YISHIMITSY Events/DOM/Window 1 14.02.2010 01:32
Переход между окнами ввода при заполнении. Бушка Общие вопросы Javascript 4 25.03.2009 15:40