页面重新加载后双重提交

时间:2011-11-18 08:56:37

标签: javascript browser double-submit-prevention

我有以下情况:

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

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

问题涉及这在实践中如何发挥作用,我不需要其他方案。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

第二种形式不可能发送两次。因为重定向到另一个从头开始加载的页面。

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

答案 2 :(得分:1)

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

如果用户浏览器尚未执行第二个表单的onLoad()javascript事件,则无法发出要求。

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

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