19.03.2015, 10:02
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
Связанные между собой данные при передачи по GET
Здравствуйте Уважаемые пользователи!
Ближе к делу, имеются на сайте определенные данные (в форме), которые отправляются на обработку серверу по нажатию на кнопку, так вот, данные связаны между собой и постоянно связь разная т.к. пользователь выбирает разные данные (те которые ему нужны), какую структуру данных применить и как, чтобы на стороне сервера я мог понять какие данные между собой связаны? Хочу добавить то, что массивы не подходят.
Может быть, JSON или есть что-то специальное? Поделитесь опытом, друзья!
|
|
19.03.2015, 10:48
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от zhurchik
|
так вот, данные связаны между собой и постоянно связь разная т.к. пользователь выбирает разные данные (те которые ему нужны), какую структуру данных применить и как, чтобы на стороне сервера я мог понять какие данные между собой связаны? Хочу добавить то, что массивы не подходят.
|
Ты считаешь, что на основе этой "информации" можно давать какие-то дельные советы?
|
|
19.03.2015, 11:46
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Хочу добавить то, что массивы не подходят. Может быть, JSON или есть что-то специальное?
Ага, "заказное" ) А что такое JSON?
|
|
19.03.2015, 13:11
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
laimas,
Ну json это, по сути, тот же самый массив, но все же именно сами массивы в JS работают иначе
|
|
19.03.2015, 13:35
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
JSON, это всего лишь способ описывающий различные данные, которыми могут быть строки, массивы, объекты, и представляет собой строку. А массивы они везде массивы, сами они не могут работать, а то что в JS меньше методов работы с ними, не означает что в JS массивы иные.
В JS нет ассоциативных массивов, это да, но есть объекты, что для РНР будь они ему переданы, будет являться обычным ассоциативным массивом, и которых вам с лихвой хватит что-то там связать.
|
|
19.03.2015, 14:03
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
laimas,
Если со стороны клиента будет отправлена строка в формате json то достаточно ли на стороне сервера поместить эту строку в функцию json_decode и если она вернет не null то уже обрабатывать его как массив с соответствующими правилами? Или еще какие то проверки нужно осуществлять?
|
|
19.03.2015, 14:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Можно, но зачем вам JSON со стороны клиента, если можно отправить просто массив?
|
|
19.03.2015, 15:34
|
Кандидат Javascript-наук
|
|
Регистрация: 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 таких повторений не будет.
Что скажете?
|
|
19.03.2015, 16:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А кто вас заставляет такое руками писать? Если асинхронный обмен и используется jQery, то можете использовать один из ее методов сериализации формы: .serialize(), .serializeArray().
Если все-таки хочется JSON, то JSON.stringify(object), лишь бы ваш безразмерный массив не превышал глубину рекурсии.
|
|
|
|