【问题标题】:Double submit after page reload页面重新加载后双重提交
【发布时间】:2011-11-18 08:56:36
【问题描述】:

我有以下场景:

第一个网页有一个提交给服务器的表单。 服务器响应第二页。 第二个页面有一个隐藏的表单,在表单加载时使用 javascript 提交,它将用户重定向到外部站点。

我的问题是: 用户是否可以在第一页上两次提交第二个表单(在第一页的一个页面视图内)?

这个问题与这在实践中如何运作有关,我不需要替代方案。

【问题讨论】:

    标签: javascript browser double-submit-prevention


    【解决方案1】:

    我会忽略不应该将实践用作生产解决方案的事实。

    如果用户浏览器没有执行第二个表单的 onLoad() javascript 事件,您的要求就不会发生。

    与任何这样的解决方案一样,当两个事件几乎同时发生时,您永远无法 100% 确定客户端浏览器的行为,但我会说在大多数情况下,浏览器不会执行两次 onLoad() 事件。

    您需要注意的是浏览器的后退按钮行为。这肯定会导致重新提交。

    【讨论】:

      【解决方案2】:

      不,即使第一个表单被重复提交,第二个表单也只会加载一次。

      【讨论】:

        【解决方案3】:

        第二个表单不可能发送两次。因为重定向到另一个页面,所有内容都是从头开始加载的。

        我不确定您解决问题的方法是否正确,尽管您不是在问这个问题,但请记住,用户可以使用 cmd/ctr 按钮多次单击按钮并使用表单多次打开新页面新标签。在这种情况下,您的表单将多次提交。

        【讨论】:

          猜你喜欢
          • 2015-07-04
          • 2013-08-18
          • 1970-01-01
          • 1970-01-01
          • 2013-11-19
          • 2015-01-17
          • 2013-12-28
          • 2018-10-15
          • 1970-01-01
          相关资源
          最近更新 更多