我通过POST提交表单。我提交表单,一切都很好,但是如果我尝试重新加载表单在提交后转到的新页面,我会收到“你想重新发送数据”消息(FireFox)。它也可能在其他浏览器中发生,但我不确定。
有没有人知道如何阻止此消息弹出,以便我可以继续刷新页面。这对生产环境不利 - 用户可以两次提交相同的表单!
答案 0 :(得分:48)
您需要使用POST-Redirect-GET模式。
让您的表单回复,并重定向到GET请求 这样,当用户刷新页面时,它只会重新发送GET。
答案 1 :(得分:9)
response.sendRedirect
以这种方式重新加载页面后的一种简单方法:
window.location.href = window.location.pathname;
它对我有用。
答案 2 :(得分:1)
如果url没有任何参数,请使用此 -
window.location = window.location.href+"?rnd="+Math.random();
或者使用它 -
window.location = window.location.href+"&rnd="+Math.random();
它会起作用。
答案 3 :(得分:0)
如果浏览器这样做,将会违反安全规定。对于信用卡处理中的ex,网站可能会向用户收取两次费用。
唯一的方法是去地址栏然后点击回车。它会引发新的请求。