Ajax - сохранение состояния в URL - нет # - PullRequest
0 голосов
/ 28 сентября 2010

Я работаю на веб-сайте AJAX, где есть два параметра поиска. Я сделал несколько переписываний мод и проверил переменные $ _GET, чтобы я мог сделать что-то вроде ..

site.com / var1 / var2 / -> автоматически выполняет поиск по параметрам.

Теперь я хочу, чтобы люди, выполняющие поиск вручную, могли иметь URL-адрес в этом формате. Единственный метод, который мне удалось найти, это сделать с изменением URL с помощью ..

location.hash = 'foo';

что бы сделать что-то вроде .. site.com/#var1

Что не так хорошо, как переписывание модов. Я обнаружил, что это работает, если в моей функции поиска, которая выполняет вызов ajax, у меня есть этот код

     // avoid appending further variables if there are already variables
     if(location.href == 'some absolute website path')
        location.href = var1+'/'+var2+'/';

Это будет работать, но в основном вынуждает загрузку страницы, и тогда включается мой автопоиск php / javascript из-за перезаписи мода. ТАК это работает, однако это требует дополнительного обновления страницы, которого я бы предпочел избежать.

Есть ли лучшие решения там? В идеале, если бы я мог использовать location.href, где он не вызывал загрузку страницы после того, как я изменил значение, а просто изменил бы URL-адрес, было бы идеально (при сохранении моих ссылок на перезапись модов, без знаки).

Я использую jquery и php.

1 Ответ

0 голосов
/ 28 сентября 2010

По замыслу, вы не можете изменить URL или путь, не вызвав новый запрос. С уважением.

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