如何避免形式重新提交,如果浏览器的后退按钮被选中?(How to avoid form re-sub

2019-09-19 17:29发布

让我们来考虑一个场景象下面这样:

  1. Symfony2中提供了一种去除形式为实体
  2. 用户选择删除按钮
  3. Symfony2的控制器将删除实体,将用户重定向到确认页面
  4. 如果用户选择浏览器的后退按钮,他/她将再次看到记录和删除表单
  5. 因为它已经被删除选择删除按钮将抛出一个异常

什么是避免后退按钮并重新提交内容的最佳方式是什么?

对于这个问题的控制器是一样的在这里 。

Answer 1:

所有的数据改变的请求应该用做POST方法-或PUTPOSTDELETE ,如果你在使用RESTful方式做这件事。 这样的请求后,重定向到一个GET页面。 如果用户将推动后退按钮,浏览器将显示一条警告说,应该将请求再次发送,它可能会导致不想要的结果。 如果用户坚持重发请求,她应该得到一个404 ,因为她试图做的东西的东西,已经不存在了错误页面。



文章来源: How to avoid form re-submission if browser back button is selected?
标签: forms symfony