私は現在 Code Igniter を使用してきれいな URL を取得しており、基本的に ajax を使用してジムを検索できるこのシステムを使用しています。
次のように、ジムのリストがロードされた後にプッシュ状態を使用しています。
example.com/list/search_key/pagination-page/sort-by/filters~seperated~by~that
search_key は、ジムを検索したい地域の都市、州、または近隣であり、フィルターは個々のチェックボックスです。
.ajax を使用して検索キーと個々のチェックボックスの値 (1 または 0) をポスト経由で送信すると、コード イグナイターが POST データと PHP を使用して上記のような URL を生成します。ajax 成功プッシュは、URL が PHP によって生成されたものであることを示しています。
問題は、たとえばページネーションを使用してページ 2 に移動し、ページ 1 に移動する場合、当然ブラウザの戻るボタンを使用することです。問題は、URL アドレス バーを現在の URL の前の URL に戻すだけで、実際にはページのコンテンツを変更しないことです。古い(前の)URLを使用してページをリロードするか、更新するか、または何かを行う必要があります。
URLデータを使用してフォームを再送信するためにajaxを使用することもできますが、これを行う方法がわかりません。
いくつか試してみましたが、何も機能しません。グーグルの最初のページでほとんどすべてを試しましたが、すべてが有望に思えますが、実際には何も機能しません。
プッシュステートの URL が以前の URL に変更された場合、ページを更新する方法はありますか?
PS Heres は、私が試したいくつかの重要なことです。
<script type="text/javascript">
$(window).unload(function(e){
e.preventDefault();
alert("Back was pressed!");
});
// If this wouldve worked, it wouldve atleast alerted me that.
// The code off this URL: http://www.mrc-productivity.com/techblog/?p=1235
// Some of the codes off this URL: http://forum.jquery.com/topic/howto-force-page-reload-refresh-of-previous-page-when-back-button-is-pressed
// A few others.
</script>