如何在页面刷新后防止双重提交

时间:2017-12-27 20:33:11

标签: javascript html

我有一个'联系我们'的html表单,我正在为每个点击提交的成员赠送礼物。 我想确保用户不提交两次(使用不同的名称和电子邮件)。 我可以在点击后禁用该按钮,但是什么是阻止页面刷新后提交的最佳解决方案? 感谢

3 个答案:

答案 0 :(得分:1)

是直接从您的POST重定向到GET请求或网页。如果他/她刷新,它将刷新另一页。这被命名为Postirect After Post,您可以在hereWikiPedia

中详细了解它

可以找到一个示例here

答案 1 :(得分:0)

你可以做的两件事你应该这样做。

  1. 首次在客户提交表单时禁用Submit按钮    包含有效信息。因此,他/她无意中发送    表格中的重复信息。
  2. 其次,这更重要。在您保存此信息之前    您的数据库,无论是MySQL,MongoDB等等。您执行查询    检查用户提供的信息是否存在于您的数据库中    已经或不。如果没有,那么就像你一样继续,但如果你这样做,你可以做到    根据您的业务逻辑对用例场景进行错误处理。

答案 2 :(得分:0)

<script>
    if ( window.history.replaceState ) {
        window.history.replaceState( null, null, window.location.href );
    }
</script>

请参见https://stackoverflow.com/a/45656609/1066234