在提交带有post方法的表单后,f5将重新提交该表单。在不重定向页面的情况下避免这种情况的最好方法是什么?我不喜欢这样打扰用户。Stackoverflow对f5免疫,但我没有看到任何在提出问题后的重定向。
发布于 2009-09-13 18:05:50
StackOverflow是非常繁重的AJAX,这就是您所看到的行为的原因。
如果你不想得到所有的AJAXy,你需要重定向。这种类型的重定向对用户应该是透明的:
if (! empty($_POST)){
// Do something with the contents of $_POST
header('Location: success.php');
}现在,如果验证失败,您可能会重新加载表单,并显示一些错误消息,而锤击F5将重新发送数据。但是如果操作成功,用户将被重定向到您的成功页面,并且他们可以在没有rePOSTing数据的情况下运行f5一整天,并可能创建重复的操作。
发布于 2009-09-13 18:04:00
获取帖子
执行POST请求
结果:刷新结果页面只会再次显示它,因为它是使用GET完成的。
发布于 2009-09-13 18:04:43
实现此效果的标准方法是使用HTTP重定向,这对用户来说并不明显(所以我假设您指的是元刷新延迟重定向)。
请参阅Post Redirect Get pattern。
https://stackoverflow.com/questions/1418408
复制相似问题