Помогите разобраться с запросом
С точки зрения фреймворка первый вариант может быть лучше, т.к. не предполагает разбора языка и специальных символов-сепараторов.
А может, просто так сложилось веками, и нет рационального объяснения.
Небось, упаковкой и распаковкой параметров занимается какой-то фреймворк, он и решает, как их передавать.а что это за фреймворк такой диковинный, не подскажешь? ребята на php делают все
плюс очевидный и довольно мощный - для твоего варианта требуется дополнительный JS код, для ихнего - нет.
В первом случае $_GET['brand'] это готовый массив с двумя элементами, а во втором тебе придётся самому из строки делать массив.
Такой "привычный" я первый раз вижу. Хотя последнее время приходится вроде бы опытных верстальщиков обучать, что можно в форме писать поля с именем с квадратными скобками
а во втором тебе придётся самому из строки делать массив.это то делается одной строкой при априорных знаниях о значениях.
дело в другом - в том что описал я в своём посте.
это то делается одной строкой при априорных знаниях о значениях.сомнительный плюс.
дело в другом - в том что описал я в своём посте.
в первом случае у меня куча проблем использования апи на устройствах, во втором - отсутствие проблем.
но, все же, как данный формат передачи параметров называется по науке?
а то как они сделали - это нативно, и никаких проблем с апи не несет.
это не плюс а минус, я ж говорю, что твой метод - это МИНУС, так как надо применять JS и потом еще на серваке разбирать строку в массив.хорошо, это проблема для клиента.
а то как они сделали - это нативно, и никаких проблем с апи не несет.
Как данная передача параметров по науке называется?
Это только если на сервере пыхапе.
это не проблема ни для клиента ни для апи. потому что это НАТИВНый способ =)
Как данная передача параметров по науке называется?php-шная )
ps
в гугле всплывает по такому запросу:
php form post multiple values with same name
вот тут всё раскрывается. Да, в пхп, но кагбе скорее это стандарт, чем какой-то запятуйТ.е. использование данной нотации для api мобильных устройств с RESTful и остальным вполне приемлемо?
Похоже, что это заморочка от php, как и упоминалось выше. Нет никаких оснований делать так для апи мобильников, если такие вещи используются для верстальщиков и в html - формах.
Твиттер написан на scala сейчас, но привожу его в пример как достойный рассмотрения REST апи
Да и всякие facebook / twitter / vk не используют подобные вещи в api
Twitter statuses lookup
Users search
не все стандарты одинаково полезны.а я и не говорил обратное. очевидно что через GET тут вообще не надо делать, это надо делать через POST
Просто с пхп на бэкенде так удобно, честно. И то, кстати, не всегда )) Когда надо разбирать не $_REQUEST, а argv, то придется руками парсер массивов писать, ага )
Т.е. использование данной нотации для api мобильных устройств с RESTful и остальным вполне приемлемо?в исходном посте нет ни слова про REST или про мобильники, но зато есть модная фраза про разрыв шаблона из НЛП
Просто с пхп на бэкенде так удобно, честно. И то, кстати, не всегда )) Когда надо разбирать не $_REQUEST, а argv, то придется руками парсер массивов писать, ага )мы ща вообще на кофейной гуще гадаем, видишь выяснилось что речь про REST для андроида вообще. ни задача не понятна, ни кто пишет и что и зачем)
в исходном посте нет ни слова про REST или про мобильники, но зато есть модная фраза про разрыв шаблона из НЛПсогласен ладно, теперь я все выяснил, спасибо всем
как бы тогда выглядел второй вариант?
допустим, что ты передаешь не числа, а строчки, в которых может содерждаться запятаяhttp://imgs.xkcd.com/comics/exploits_of_a_mom.png
как бы тогда выглядел второй вариант?
%2C
А добрый nginx по дороге это разэскейпит обратно в запятую и приплыли
Ну и вообще, %2C сам по себе должен енкодиться в %252C для передачи.
Я могу понять такое решение в пхп, где важнее была универсальность. Но делать такое в своем апи это просто на отъебись.
Ну и вообще, %2C сам по себе должен енкодиться в %252C для передачи.И вот тут (если мы всё ещё про JS) ты заставишь автора вместо простого
artists = ['Beatles, The', 'Pink Floyd'];
param = artists.join(',');
...
заставляешь писать код который предварительно заэскейпит каждый элемент массива.
Это несложно, но всё равно уже не так просто, как казалось в начале…
а нефиг в урл пихать то, что не id.
скажи это пользователю
если он сам урл правит - то ссзб!
это не означает, что на принимающей стороне не должно быть защиты от дураков.
какая ещё защита нафиг?
заставляешь писать код который предварительно заэскейпит каждый элемент массиваВ смысле я заставляю? А что автор будет делать со слешами, амперсандами, вопросами, знаками равенства и прочими юникодами в именах?
В смысле я заставляю? А что автор будет делать со слешами, амперсандами, вопросами, знаками равенства и прочими юникодами в именах?они автоматом урл-декодятся обычно, а тут нужно уже декодированное значение декодировать второй раз.
Оставить комментарий
jakal222
Добрый деньУ меня возник разрыв шаблона на таком запросе:
Кто-нибудь может обосновать плюсы передачи параметров в таком виде вместо привычного