2

次のような状況があります。

ページ A: /something/new
への投稿: /something/create
ページ B へのリダイレクト: /something/edit

これまでのところ、すべて機能しています。さて、/something/edit は、AJAX を介してさまざまなことを実行できるページなので、最初は空っぽで、使用すると、いわば「いっぱい」になります。いつでもリロードすると、サーバーによってレンダリングされたすべてが返されます。

ただし、リダイレクトされてページに変更を加えた後、[戻る] を押してからもう一度 [進む] を押した場合、ブラウザー (少なくとも Chrome) はサーバーに再度アクセスしません (304 になる可能性のある Etag チェックでさえ、何もしません)。 )、キャッシュからページ B をロードするだけで、空で表示され、非常に混乱する可能性があります...

最初にページ B をレンダリングするとき、サーバーは次のヘッダーで応答します。

Cache-Control:must-revalidate, private, max-age=0
Connection:Keep-Alive
Content-Length:18577
Content-Type:text/html; charset=utf-8
Date:Thu, 02 Aug 2012 20:19:59 GMT
Server:WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20)
Set-Cookie: (redacted)
X-Miniprofiler-Ids:["ma2x1rjc0kgrijiug5dj","nnmovj2wz1lux85jwhd3"]
X-Request-Id:2dd3fa62799beadc1b39b8db1aa5f45f
X-Runtime:0.245014
X-Ua-Compatible:IE=Edge

Etag など、気になるようなものは見当たりません。また、「Cache-control」を正しく解釈している場合(私はあまり経験していませんが)、キャッシュしないように言っているようです...

この動作を回避する方法はありますか?また、戻る/進む時にブラウザがサーバーに再度アクセスするようにする方法はありますか?

ありがとう!
ダニエル

4

1 に答える 1

0

ここに投稿された回答を調査します。

[戻る] ボタンをクリックすると、クロスブラウザーのオンロード イベントが発生しますか?

私が言及していたユーティリティのいくつかはかなり古く、維持されていないため、この回答を変更しました。これは有用な回答ではありません。

于 2012-08-06T23:47:31.030 に答える