2009-12-14 7 views
1

Возможно ли это?изменение страницы URL без обновления страницы

Вот проблема:

У меня есть поиск по ключевым словам с этим URL (после поиска): http://localhost/thi/search?keyword=key

Тогда у меня есть поиск слайдер, который использует плагин AjaxForm (JQuery) ...

, когда я выполняю поиск ползунка, очевидно, что все равно буду находиться в URL-адресе поиска по ключевым словам (потому что запрос отправляется через ajax)

Есть ли способ изменить текущий URL-адрес на что-то вроде http://localhost/thi/search?price=100 (sli der подает через GET по цене как переменную GET)

Я хочу сделать это, потому что я хочу, чтобы результаты поиска с ползунка были добавлены в закладки ... или есть ли альтернативный способ сделать это?

ответ

6

Вы можете использовать хэш URL (поиск # цена = 100) с window.location.hash методами. Они получат закладки, и пользователь сможет перемещаться по ним с помощью кнопок «назад» и «вперед».

образца Использование:

<a href="#">100</a> 

$('a').click(function() { 
    window.location.hash = 'price='+$(this).html(); 
    return false; 
}); 

Установит URL для search#price=100 без отрады.

+0

Будет ли огонь получить по URL тоже? – Pierreten

+0

Нет, это не так, поскольку хеши находятся на текущей странице. Если хэш существует, он будет прыгать к нему. – ceejayoz

+0

Это сделает страницу «bookmarkable», но вы не можете посетить эту страницу и иметь «price = 100», отправленную на PHP/ASP-скрипт, который отображает страницу, вам нужно получить ее с помощью javascript, а затем снова получить AJAX ... – Sandman

3

Лучшее, что я могу предложить для этого, это использовать хэш в URL-адресе. Это позволит пользователям добавлять URL-адрес и сохранять статус, когда они возвращаются. Другое преимущество заключается в том, что вы можете изменить хеш без обновления страницы.

Так что ваш URL будет выглядеть примерно так ... http://localhost/thi/search?keyword=key#price=100

JQuery Адрес плагин будет работать очень хорошо для этого.

http://www.asual.com/jquery/address/

Смежные вопросы