防止浏览器重新发送表单信息

时间:2009-03-24 20:29:01

标签: php browser

有没有人知道阻止浏览器要求用户重新发送表单信息的方法。

我知道您可以使用以下方式重定向浏览器:

<php
    header("location http://example.com");
?>

但这似乎效率低下,需要2个请求。

希望你能提供帮助。

重复How do I stop the Back and Refresh buttons from resubmitting my form?

2 个答案:

答案 0 :(得分:5)

可以像您的示例一样重定向,也可以使用AJAX首先提交表单。浏览器无法在不请求同一页面的情况下请求同一页面。

不重新提交数据与请求不同的页面相同,所以你有点卡住了。

答案 1 :(得分:5)

据我所知,当涉及POST请求中的行为时,您无法真正做到。重定向,可能看似低效,实际上是最好的方法。您告诉浏览器您已经完成了发布请求所需的所有工作,现在您将把它发送到一个永远不会改变的页面,无论您多少次调用它,都可以轻松加入书签状态。可重复使用的。