Есть ли способ слияния получить параметры?- HTML / Javascript - PullRequest
3 голосов
/ 22 июля 2010

часто я нахожусь в восторге от простых вещей, я не уверен, но я верю, что это может быть одним из них.

Часто мне приходится объединять атрибуты get, особенно в фильтрахи поиск страниц на сайтах. Иногда это бывает довольно сложно, так как вы можете динамически удалять и добавлять параметры.

Простой способ сделать это - использовать форму, но это становится сложным,при добавлении элементов, которые не принадлежат в форме.например, pagination

Например, у меня может быть URL-адрес, такой как следующий

http://www.example.org/ninja_search/?speed__gt=5&night_sight=1&page=1

Как мне объединить такой URL со страницей = 2, заменяя 1 новым значением?Является ли javascript единственным вариантом?

? Speed__gt = 5 & night_sight = 1 & page = 1 + page = 2 =? Speed__gt = 5 & night_sight = 1 & страница = 2

Спасибо:)

1 Ответ

3 голосов
/ 22 июля 2010

Решение состоит в том, чтобы использовать [] для явного создания массива из параметров, при условии, что ваш серверный язык поддерживает его:

? Speed__gt = 5 & night_sight = 1 & page [] =1 & page [] = 2

Например, если ваш серверный язык - PHP, $_GET['page'] теперь будет возвращать массив с 1 в качестве первого элемента и 2 в качестве второго.

Вы также можете использовать эту технику в формах, применив ее к атрибуту name:

<form id="myform">
  <input type="hidden" name="page[]" value="1" />
  <input type="hidden" name="page[]" value="2" />
</form>

Если вы говорите о добавлении второго параметра и игнорировании первого, это произойдет в любом случае - второй предоставленный параметр переопределит первый.Предполагая, что

? Speed__gt = 5 & night_sight = 1 & page = 1 & page = 2

Значение page на сервере будет равно 2, поскольку последнее заданное значение имеет приоритет.

...