表单重复提交的原因:
1.用户重复点击提交按钮
2.POST请求返回状态码200,用户主动刷新页面
.....
对于第一个问题的解决,我的解决方法是采用js控制点击提交按钮,加个loading模态窗口防点击
对于第二个问题,可以采用$this->redirect()重定向,或者$this->success("message","重定向url"),说白了就是重定向,不管是重定向到当前提交的页面还是其他的页面,都可以的,因为重定向调用的是Get方法。防止表单重复提交的Post/Redirect/Get模式在我看来就是表单提交后重定向
$this->success()方法调用显示消息示例:
表单提交前:
后端调用$this->success()方法或者post请求返回前端显示: