ruby-on-rails-3 - 导轨 3 : How to prevent the browse

我有以下情况:

A页:/something/new
回发到:/something/create
重定向到页面 B:/something/edit

到目前为止一切正常。现在,/something/edit 是一个允许您通过 AJAX 做很多事情的页面,所以它开始时是空的,并且当您使用它时它会变得“更丰富”,可以这么说。如果您随时重新加载,您会取回所有内容,由服务器呈现。

但是,如果在被重定向并修改页面后,您再次点击“后退”和“前进”,浏览器(至少是 Chrome)不会再次访问服务器(即使是 Etag 检查也不会导致304,什么都没有),它只是从缓存中加载页面 B,页面 B 显示为空,并且可能非常困惑...

当第一次呈现页面 B 时,服务器响应以下 header :

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 或任何可能令人烦恼的类似内容。另外,如果我正确地解释了“缓存控制”(虽然我对它不是很有经验),它似乎是在说不要缓存永远 ...

有什么办法可以避免这种行为,让浏览器在后退/前进时再次访问服务器?

谢谢!
丹尼尔

最佳答案

我会调查此处发布的答案。

Is there a cross-browser onload event when clicking the back button?

我刚刚更改了这个答案,因为我提到的一些实用程序已经很旧并且没有维护,这不是一个有用的答案。

关于ruby-on-rails-3 - 导轨 3 : How to prevent the browser from loading a page from cache on back/forward navigation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785174/

相关文章:

php - session 提前结束

svn - 用于将更改的文件部署到生产 Web 服务器的工具

visual-studio - 如何延迟 Visual Studio 中的波浪线(错误警告)?

asp.net-mvc-3 - 如何将 IEnumerable 对象或数据从 View 传递到 Co

sql-server - 是否可以限制 Entity Framework 使用的连接数?

asp.net-mvc - 通过 JQuery 发布时 Web API Controller 中的

django - 移除 ForeignKey 后迁移到第三方模型

google-apps-script - 如何以谷歌方式隐藏库源代码?

php - 来自另一个用户的 DBus

asp.net-mvc-3 - 如何将Web应用程序转换为SaaS?