URL добавить вопрос - PullRequest
       1

URL добавить вопрос

0 голосов
/ 16 февраля 2012

У меня странная проблема, пожалуйста, смотрите следующее ...

по текущему URL ...

http://localhost/web/gallery/test/scs/

и следующий html

<a href="?srtby=relevance">Relevance</a> //on click url becomes http://localhost/web/gallery/test/scs/?srtby=relevance
<a href="?srtby=views">Views</a> //on click url becomes http://localhost/web/gallery/test/scs/?srtby=views



<a href="?srtbydate=today">Today</a>

При клике URL становится http://localhost/web/gallery/test/scs/?srtbydate=today вместо http://localhost/web/gallery/test/scs/?srtby=relevance?srtbydate=today

Не знаю, почему это происходит?Пожалуйста, предложите.спасибо.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2012

Когда у вас есть запрос в конце URL, например:

http://localhost/web/gallery/test/scs/?srtby=relevance

Любые ссылки, по которым вы впоследствии нажимаете, удаляют или заменяют эту строку запроса. Таким образом, нажав на ссылку с HREF

?srtby=thisotherthing

Принимает вас к http://localhost/web/gallery/test/scs/?srtby=thisotherthing

Эти параметры не «складываются» - при нажатии на ссылку должны быть указаны все параметры запроса, чтобы они отображались на следующей странице.

0 голосов
/ 16 февраля 2012

Это ожидаемое поведение.Происходит то, что вы переписываете строку запроса с вашим URL, а он не добавляется, а просто заменяет.Чтобы это исправить, в своем коде вы захотите создать свои URL-адреса, добавляя или заменяя контент.Самый простой способ - создать строки запроса снаружи в объектах и ​​затем сериализовать их в строку запроса.

Обновление: Простой способ сделать это на PHP

<?php
    $currentQuery = $_SERVER['QUERY_STRING'];
    $url = array();
    parse_str($currentQuery, $url);
    $url['srtby'] = 'views';
?>
<a href="<?php echo http_build_query($url); ?>">Link</a>

Обратите внимание, что для вышеперечисленного требуется PHP 5.

0 голосов
/ 16 февраля 2012

Вы сбрасываете строку запроса и добавляете ее к текущему URL.Вы используете только?один раз, а затем для добавления дополнительных переменных используйте & например,

? var1 = релевантность & var2 = views

Это позволяет передавать несколько параметров.

...