При использовании кнопки назад AJAX результаты были потеряны
Поэтому я настроил систему нумерации страниц, аналогичную Twitter, где отображаются 20 результатов, и пользователь может щелкнуть ссылку, чтобы показать следующие двадцать или все результаты. Количество отображаемых результатов может контролироваться параметром в конце URL-адреса, однако, он не обновляется с помощью AJAX, поэтому, если пользователь нажимает на один из результатов, а затем выбирает вернуться, он должен начать с 20 Результаты.
У меня возникла мысль, что если я обновлю URL, когда я получаю результаты с помощью AJAX, он должен, я надеюсь, позволить пользователям перемещаться вперед и назад без потери количества отображаемых результатов.
Это на самом деле возможно, или я все неправильно понял?
Кроме того, как бы я изменил URL? У меня есть способ отредактировать URL с помощью javascript и сделать его переменной, но я не уверен, как применить эту переменную к URL.
Любая помощь здесь будет отличной!
Примечание: я использую функцию load() jQuery для выполнения всего моего AJAX.
5 ответов
На самом деле вы не можете изменить URL-адрес страницы из JavaScript без перезагрузки страницы.
Вы можете рассмотреть возможность использования куки вместо этого. Установив клиентские куки, вы можете "запомнить", сколько результатов хочет видеть пользователь.
Не упоминается в дублирующих темах, но, тем не менее, полезно: Действительно простая история (RSH).
Это был бы ответ, который я бы поставил здесь:
Ответ на этот вопрос будет более или менее таким же, как мои ответы на эти вопросы:
Итак, два проекта, которые вы, вероятно, захотите посмотреть, которые объясняют весь процесс хеширования и используют его с ajax:
jQuery History (использование хэшей для управления состоянием ваших страниц и привязки к изменениям для обновления вашей страницы).
jQuery Ajaxy (расширение ajax для jQuery History, позволяющее создавать полноценные ajax-сайты, оставаясь при этом совершенно незаметным и изящно разлагаемым).