当我单击浏览器的后退按钮时,会弹出一条消息,询问我是要重新发送请求还是重试。我试图找出当用户使用浏览器后退按钮导航回任何页面时如何避免显示此消息。基本上,我希望浏览器在重新发送请求之前不要要求确认。
现在,在 Firefox 中进行测试时,我得到了这个:
文档已过期 此文档不再可用。请求的文档在 Firefox 的缓存中不可用。作为安全预防措施,Firefox 不会自动重新请求敏感文档。单击重试可从网站重新请求文档。
听起来您与之交互的系统不遵循 Post/Redirect/Get 模式。
POST
向服务器发出请求,GET
用来获取的。这样,客户端可以重新加载最后一个 URL 或使用后退按钮,并且不会POST
再次使用。
有关详细信息,请参阅维基百科。
在 PHP 代码的开头添加:
ini_set('session.cache_limiter','public');
session_cache_limiter(false);
随着当前的 Firefox 更新到版本 29,当您尝试导航回搜索结果等页面时,这已成为默认功能。可以在选项/高级/网络下禁用它并选中“覆盖自动缓存管理”。尽管您的问题早于此更新,但它看起来是同一个问题。
我在 Mozilla 支持论坛上找到了这个解决方案:https: //support.mozilla.org/en-US/questions/1018237