用post方法提交表格后f5将重新提交。 没有重定向页面,最好避免这种情况。我不喜欢这样打扰用户。 Stackoverflow对f5免疫,但在提问后我没有看到任何重定向。
答案 0 :(得分:7)
获取后发布
结果:刷新生成的页面只会再次显示它,因为它是使用GET完成的。
答案 1 :(得分:6)
StackOverflow非常重视AJAX,这就是为什么你会看到你看到的行为。
如果您不想获得所有AJAXy,则需要重定向。这种重定向应该对用户透明:
if (! empty($_POST)){
// Do something with the contents of $_POST
header('Location: success.php');
}
现在,如果您的验证失败,您可能会重新加载包含一些错误消息的表单,并且锤击F5将重新发布数据。但是如果操作成功,用户将被重定向到您的成功页面,他们可以整天锤击f5而无需重新发布数据,并可能创建重复操作。
答案 2 :(得分:3)
实现此效果的标准方法是使用HTTP重定向,这对用户来说并不明显(因此我假设您引用元刷新延迟重定向)。