【问题标题】:How to avoid form re-submission if browser back button is selected?如果选择浏览器后退按钮,如何避免重新提交表单?
【发布时间】:2012-07-18 18:21:55
【问题描述】:

让我们考虑如下场景:

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

避免返回按钮和重新提交的最佳方法是什么?

本题控制器同here

【问题讨论】:

    标签: forms symfony


    【解决方案1】:

    所有数据更改请求都应使用POST 方法完成 - 或PUTPOSTDELETE,如果您以 RESTful 方式进行。在这样的请求之后,重定向到GET 页面。如果用户按下后退按钮,浏览器将显示一条警告,指出应再次发送请求,并且可能导致不需要的结果。如果用户坚持要重新发送请求,她应该会得到一个404 错误页面,因为她正在尝试使用不再存在的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-27
      • 2023-03-07
      • 2012-11-08
      • 1970-01-01
      • 2023-02-26
      • 2020-09-17
      • 1970-01-01
      • 2016-12-25
      相关资源
      最近更新 更多