如何在浏览器上按 F5(Refressing) 时停止重新提交页面 window
How to stop page re-submission while pressing F5(Refressing) on the browser window
目标
基本上,我想区分正常的页面提交和在浏览器上触发的刷新事件 window。这样我就可以停止重新提交。
简介
我有 Spring MVC App
将 Rest URLs
标记到每个控制器,例如,一个 Spring 控制器用于每个 CRUD 操作。现在,在向 Add/Edit 请求提交请求时,一个 POST
请求被发送到后端控制器以获取相应的 Id。
For example
localhost.xxx/add --> add request is sent for a new id auto-generated from backend.
localhost.xxx/edit --> edit request is sent for the id\ record currently edited.
问题
在我的例子中,在再次提交后按 F5
时,旧请求将发送到相同 ID 的支持。
实现
我想在以某种方式按下 F5 键时停止重新提交表单。任何解决方法的前端或后端(重定向事件)都可以,但是,我很乐意 know/prefer 停止此类重新提交的理想方法是什么。
您可以使用 Post-Get-Redirect。
完成 POST 后,使用 "redirect:<pageurl>"
发送重定向请求而不是 return 视图名称。
并且有一个 method = RequestMethod.GET
方法 return 视图名称。
因此 post 方法将向浏览器提供重定向响应,然后浏览器将使用 get 方法获取重定向 url,因为避免了重新提交。
引用avoid-form-resubmission-when-refreshing-the-page
目标
基本上,我想区分正常的页面提交和在浏览器上触发的刷新事件 window。这样我就可以停止重新提交。
简介
我有 Spring MVC App
将 Rest URLs
标记到每个控制器,例如,一个 Spring 控制器用于每个 CRUD 操作。现在,在向 Add/Edit 请求提交请求时,一个 POST
请求被发送到后端控制器以获取相应的 Id。
For example
localhost.xxx/add --> add request is sent for a new id auto-generated from backend.
localhost.xxx/edit --> edit request is sent for the id\ record currently edited.
问题
在我的例子中,在再次提交后按 F5
时,旧请求将发送到相同 ID 的支持。
实现
我想在以某种方式按下 F5 键时停止重新提交表单。任何解决方法的前端或后端(重定向事件)都可以,但是,我很乐意 know/prefer 停止此类重新提交的理想方法是什么。
您可以使用 Post-Get-Redirect。
完成 POST 后,使用 "redirect:<pageurl>"
发送重定向请求而不是 return 视图名称。
并且有一个 method = RequestMethod.GET
方法 return 视图名称。
因此 post 方法将向浏览器提供重定向响应,然后浏览器将使用 get 方法获取重定向 url,因为避免了重新提交。
引用avoid-form-resubmission-when-refreshing-the-page