【问题标题】:Automatically resend POST request in browser when navigating using back button使用后退按钮导航时在浏览器中自动重新发送 POST 请求
【发布时间】:2013-02-23 15:46:16
【问题描述】:

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

现在,在 Firefox 中进行测试时,我得到了这个:

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

【问题讨论】:

标签: firefox browser


【解决方案1】:

听起来您与之交互的系统不遵循 Post/Redirect/Get 模式。

  1. 客户端向服务器发出POST请求,
  2. 服务器对数据进行处理,
  3. 将客户端重定向到不同的 URL
  4. 客户端使用GET获取。

这样客户端可以重新加载上一个 URL 或使用后退按钮,而不会再次使用POST

详情请见Wikipedia

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      在 PHP 代码的开头添加这个

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 2010-12-13
        • 1970-01-01
        • 2012-11-27
        • 1970-01-01
        • 1970-01-01
        • 2023-01-20
        相关资源
        最近更新 更多