首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止在使用F5发布后重新提交页面

停止在使用F5发布后重新提交页面
EN

Stack Overflow用户
提问于 2009-09-13 18:00:37
回答 3查看 3.7K关注 0票数 2

在提交带有post方法的表单后,f5将重新提交该表单。在不重定向页面的情况下避免这种情况的最好方法是什么?我不喜欢这样打扰用户。Stackoverflow对f5免疫,但我没有看到任何在提出问题后的重定向。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-13 18:05:50

StackOverflow是非常繁重的AJAX,这就是您所看到的行为的原因。

如果你不想得到所有的AJAXy,你需要重定向。这种类型的重定向对用户应该是透明的:

代码语言:javascript
复制
if (! empty($_POST)){
   // Do something with the contents of $_POST
   header('Location: success.php');
}

现在,如果验证失败,您可能会重新加载表单,并显示一些错误消息,而锤击F5将重新发送数据。但是如果操作成功,用户将被重定向到您的成功页面,并且他们可以在没有rePOSTing数据的情况下运行f5一整天,并可能创建重复的操作。

票数 6
EN

Stack Overflow用户

发布于 2009-09-13 18:04:00

获取帖子

  • Form使用Location header

执行POST请求

  • 代码处理form

  • 代码重定向

结果:刷新结果页面只会再次显示它,因为它是使用GET完成的。

票数 7
EN

Stack Overflow用户

发布于 2009-09-13 18:04:43

实现此效果的标准方法是使用HTTP重定向,这对用户来说并不明显(所以我假设您指的是元刷新延迟重定向)。

请参阅Post Redirect Get pattern

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1418408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档