私はAjaxを使ってページを部分的に更新しています。これはAjaxで項目を追加する際にAjaxで更新されるショッピング・カートです。問題は、ユーザーがチェックアウトに移動してから戻るボタンを押すと、Ajaxで更新されたショッピングカートが空に見えるということです。ページを更新すると、アイテムが再び表示されます。バック・ボタンによる部分的なAjax更新
強制的にページを更新する方法はありますか?
私はAjaxを使ってページを部分的に更新しています。これはAjaxで項目を追加する際にAjaxで更新されるショッピング・カートです。問題は、ユーザーがチェックアウトに移動してから戻るボタンを押すと、Ajaxで更新されたショッピングカートが空に見えるということです。ページを更新すると、アイテムが再び表示されます。バック・ボタンによる部分的なAjax更新
強制的にページを更新する方法はありますか?
ajaxアプリケーションでhistory.pushstateを使用する場合、カードの内容をグローバル名前空間の変数に保持することができます(例:window.cartItems = {item1、item2、...})。戻るボタンを押して前のボタンをもう一度表示すると、そのグローバルオブジェクトからアイテムを取得できます。
問題は、2番目のページがAjaxではないことです。 Ajaxで更新された部分からAjax経由で別のページに移動しています。 – Tam
まだ非AjaxページにJavascriptコードが残っている場合は、jscriptが有効なすべてのページからグローバル変数にアクセスできるので、これを処理できます。 –
戻るボタン自体の動作を変更することをお勧めします。ユーザーは、[戻る]ボタンを使用してページを元に戻すことができます。
私は別のアプローチを提案します。たとえば、カートページ自体で実行されるJSを作成することができます。このスクリプトは、バックエンドからすべてのカートデータを取得します。ページが読み込まれるとスクリプトが1回実行され、カートが最新であることが確認されます。
正確な複製http://stackoverflow.com/questions/1470249/force-application-refresh-on-back-button – Pierre