1、几种重复提交1)提交完表单后,直接刷新页面,会再次提交。
2、2)提交表单后,由于网速差等原因,服务器还未返回结果,连续点击提交按钮,会重 复提交。
3、3)表单提交后,点击浏览器回退按钮,不刷新页面,点击提交按钮再次提交表单- 根本原因:服务器并不能识别请求是否重复。 - 解决方案:使用token机制。 1、页面生成时,产生一个唯一的token值。将此值放入session 2、表单提交时,带上这个token值。 3、服务端验证token值存在,则提交表单,然后移除此值。验证token不存在,说明是之前验证过一次被移除了,所以是重复请求。不予处理
4、实防止重复提交的核心就是让服务器有一个字段能来识别此次请求是否已经执行。这个字段需要页面传递过来,因为只要回退回去的页面,字段都是一致的。不会变化,通过这个特性我们想到了token机制来防止重复提交