1

投稿ウォールを表示し、投稿にコメントしたり、投稿を削除したりできるスクリプトを作成しました。それは正常に動作します。しかし、別のページに移動して元に戻そうとすると、ページロード時にレンダリングされたコンテンツのみが表示され、変更は表示されません (追加されたコメントやその他のアクションは表示されません)。

更新すると、データベースに保存されているため、変更が取得されます。

投稿ウォールはバックボーンが使用されているウェブサイトの唯一の場所であるため、私はバックボーンナビゲーションを使用していません。

したがって、問題は、バックボーンが DOM への変更を保存していないか、戻るときに変更を確認できないことです。

多分誰かがこの問題を解決する方法を知っていますか? ユーザーはアクションが保存されていないと考えて、もう一度繰り返すからです。

4

1 に答える 1

0

バックボーンを使用して、サーバー側でレンダリングされるページを強化していますか? つまり、バックボーンは AJAX 要求でデータを取得して空のページに DOM を構築していませんか?

この場合、問題はバックボーンではなく、ブラウザのキャッシングにあります。ブラウザは、前回その URL をリクエストしたときに受け取った HTML のキャッシュ コピーをレンダリングしています。ブラウザーは、ユーザーがページにいる間に Backbone が DOM を変更したことを認識したり、気にしたりしません。

ページのコピーをキャッシュしないようにブラウザーに指示するために、次の HTTP 応答ヘッダーを提供するようにサーバーを構成してみてください。

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

ヘッダーについては、このスタック オーバーフロー スレッドで説明されています。

于 2013-01-26T13:52:01.173 に答える