Javascript 如何防止页面刷新后重复提交

Javascript 如何防止页面刷新后重复提交,javascript,html,Javascript,Html,我有一个“联系我们”的html表单,我给每个点击提交的会员送礼物。 我想确保用户不会提交两次(使用不同的名称和电子邮件)。 我可以在单击后禁用该按钮,但什么是防止页面刷新后提交的最佳解决方案? 感谢是直接从您的帖子重定向到获取请求或页面。如果他/她刷新了,它将刷新其他页面。这是以Post命名的重定向,您可以在中阅读有关它的更多信息 可以找到一个例子 你可以做和应该做的两件事 客户提交表单后,首先禁用Submit按钮 里面有有效的信息。这样他/她就不会意外地发送 表单中的重复信息 第二,哪个更重要

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

是直接从您的
帖子
重定向到
获取
请求或页面。如果他/她刷新了,它将刷新其他页面。这是以Post命名的重定向,您可以在中阅读有关它的更多信息


可以找到一个例子

你可以做和应该做的两件事

  • 客户提交表单后,首先禁用
    Submit
    按钮 里面有有效的信息。这样他/她就不会意外地发送 表单中的重复信息
  • 第二,哪个更重要。在保存此信息之前 您的数据库,无论是MySQL、MongoDB还是其他数据库,都可以执行查询 检查用户提供的信息是否存在于数据库中 有没有。如果没有,那么继续你所做的,但如果是这样,你可以做 根据业务逻辑对用例场景进行错误处理
  • 
    如果(window.history.replaceState){
    window.history.replaceState(null,null,window.location.href);
    }
    

    请参见

    能否显示您的代码?猜谜游戏太广泛了,不适合最简单的解决方案?服务器端语言和数据库。StackOverflow不用于征求建议。这是用来发布你写的代码,但不起作用。这是一个“防伪令牌”。使用随机生成的数字向表单中添加隐藏字段。如果你在多次提交中看到这个数字,你就知道这是双重提交。如果还包括cookie令牌,则可以使用它来防止CSRF攻击。
    <script>
        if ( window.history.replaceState ) {
            window.history.replaceState( null, null, window.location.href );
        }
    </script>