使用后退按钮导航时,在浏览器中自动重新发送POST请求

时间:2013-03-08 06:42:16

标签: firefox browser

当我点击浏览器的后退按钮时,会弹出一条消息,询问我是否要重新发送请求或重试。我试图找出当用户使用浏览器后退按钮导航回任何页面时如何避免显示此消息。基本上,我希望浏览器在重新发送请求之前不要求确认。

现在,在Firefox中测试时,我明白了:

  
    

文件已过期     该文档不再可用。 Firefox的缓存中不提供所请求的文档。作为安全预防措施,Firefox不会自动重新请求敏感文档。单击“重试”以从网站重新请求文档。

  

3 个答案:

答案 0 :(得分:7)

听起来与您交互的系统不遵循发布/重定向/获取模式。

  1. 客户端向服务器发出POST请求
  2. 服务器对数据执行某些操作,
  3. 将客户端重定向到其他网址
  4. 客户端使用GET来获取。
  5. 这样客户端可以重新加载最后一个URL或使用后退按钮,不再使用POST

    有关详细信息,请参阅Wikipedia

答案 1 :(得分:1)

在PHP代码的开头添加

ini_set('session.cache_limiter','public');
session_cache_limiter(false);

答案 2 :(得分:0)

使用当前的Firefox更新,到版本29,当您尝试导航回搜索结果等页面时,这已成为默认功能。可以在选项/高级/网络下禁用它,然后选中“覆盖自动缓存管理”。虽然您的问题早于此更新,但它看起来像是同一个问题。

我在Mozilla支持论坛上找到了这个解决方案:https://support.mozilla.org/en-US/questions/1018237