Связанные между собой данные при передачи по GET
Здравствуйте Уважаемые пользователи!
Ближе к делу, имеются на сайте определенные данные (в форме), которые отправляются на обработку серверу по нажатию на кнопку, так вот, данные связаны между собой и постоянно связь разная т.к. пользователь выбирает разные данные (те которые ему нужны), какую структуру данных применить и как, чтобы на стороне сервера я мог понять какие данные между собой связаны? Хочу добавить то, что массивы не подходят. Может быть, JSON или есть что-то специальное? Поделитесь опытом, друзья! |
Цитата:
|
Хочу добавить то, что массивы не подходят. Может быть, JSON или есть что-то специальное?
Ага, "заказное" ) А что такое JSON? |
laimas,
Ну json это, по сути, тот же самый массив, но все же именно сами массивы в JS работают иначе |
JSON, это всего лишь способ описывающий различные данные, которыми могут быть строки, массивы, объекты, и представляет собой строку. А массивы они везде массивы, сами они не могут работать, а то что в JS меньше методов работы с ними, не означает что в JS массивы иные.
В JS нет ассоциативных массивов, это да, но есть объекты, что для РНР будь они ему переданы, будет являться обычным ассоциативным массивом, и которых вам с лихвой хватит что-то там связать. |
laimas,
Если со стороны клиента будет отправлена строка в формате json то достаточно ли на стороне сервера поместить эту строку в функцию json_decode и если она вернет не null то уже обрабатывать его как массив с соответствующими правилами? Или еще какие то проверки нужно осуществлять? |
Можно, но зачем вам JSON со стороны клиента, если можно отправить просто массив?
|
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 таких повторений не будет. Что скажете? |
А кто вас заставляет такое руками писать? Если асинхронный обмен и используется jQery, то можете использовать один из ее методов сериализации формы: .serialize(), .serializeArray().
Если все-таки хочется JSON, то JSON.stringify(object), лишь бы ваш безразмерный массив не превышал глубину рекурсии. |
Часовой пояс GMT +3, время: 20:55. |