2011-12-19 6 views
1

私はAjaxを使ってページを部分的に更新しています。これはAjaxで項目を追加する際にAjaxで更新されるショッピング・カートです。問題は、ユーザーがチェックアウトに移動してから戻るボタンを押すと、Ajaxで更新されたショッピングカートが空に見えるということです。ページを更新すると、アイテムが再び表示されます。バック・ボタンによる部分的なAjax更新

強制的にページを更新する方法はありますか?

+0

正確な複製http://stackoverflow.com/questions/1470249/force-application-refresh-on-back-button – Pierre

答えて

0

ajaxアプリケーションでhistory.pushstateを使用する場合、カードの内容をグローバル名前空間の変数に保持することができます(例:window.cartItems = {item1、item2、...})。戻るボタンを押して前のボタンをもう一度表示すると、そのグローバルオブジェクトからアイテムを取得できます。

+0

問題は、2番目のページがAjaxではないことです。 Ajaxで更新された部分からAjax経由で別のページに移動しています。 – Tam

+0

まだ非AjaxページにJavascriptコードが残っている場合は、jscriptが有効なすべてのページからグローバル変数にアクセスできるので、これを処理できます。 –

0

戻るボタン自体の動作を変更することをお勧めします。ユーザーは、[戻る]ボタンを使用してページを元に戻すことができます。

私は別のアプローチを提案します。たとえば、カートページ自体で実行されるJSを作成することができます。このスクリプトは、バックエンドからすべてのカートデータを取得します。ページが読み込まれるとスクリプトが1回実行され、カートが最新であることが確認されます。

関連する問題