目标
基本上,我想区分普通页面提交和“浏览器”窗口上触发的刷新事件。这样我就可以停止重新提交。
简介
我有Spring MVC App
,其中每个控制器都标记有Rest URLs
,例如,每个CRUD操作都有一个Spring Controller。现在,在提交添加/编辑请求时,将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键时停止重新提交表格。任何变通方法前端或后端(重定向事件)都可以,但是,我很高兴知道/更喜欢什么是阻止此类重新提交的理想方法。
答案 0 :(得分:1)
您可以使用Post-Get-Redirect。
完成POST后,将使用"redirect:<pageurl>"
发送重定向请求,而不是返回视图名称。
然后使用method = RequestMethod.GET
的方法返回视图名称。
因此post方法将向浏览器提供重定向响应,然后浏览器将使用get方法获取重定向网址,因为避免了重新提交。