【问题标题】:Double send of form when I refresh the page刷新页面时双重发送表单
【发布时间】:2010-02-27 15:48:43
【问题描述】:

当我点击浏览器刷新时,如何避免再次提交表单?谢谢。

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    查看Post/Redirect/Get pattern,以及以下文章:

    http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost

    从上面的链接:

    PRG 模式可以改写为 这个:

    • 从不显示响应 POST 的页面
    • 始终使用 GET 加载页面
    • 使用 REDIRECT 从 POST 导航到 GET

    【讨论】:

      【解决方案2】:

      当用户首次访问表单时,为他们创建一个 GUID(或您可以唯一标识特定用户请求的其他令牌)并在他们在表单上的整个旅程中发送该 GUID。当您提交到数据库时,也将其添加到那里的字段中。事先快速检查它是否已经存在并且您已排序。 :)

      编辑:这些方法并不是特别针对用户“点击[s] 在浏览器上刷新”时,而是作为一种阻止意外重复条目的方法。至于其他有用的线程,this question asks and gets a few good replies

      【讨论】:

        猜你喜欢
        • 2019-06-16
        • 2014-02-06
        • 2020-10-22
        • 2019-03-14
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多