重复提交是防止重复提交什么。或者说为什么要防止重复提交。再或者说重复提交是防止重复插入数据还是防止访问后台代码。
求解释!!!!!!!!!!!!!!!!
[quote]再比如用户要填写个人资料
逻辑是 如果个人资料没有填写过填写则保存,已经填写过资料则更新。
这种情况重复提交要做吗?
做的话有何意义。[/quote]
这种就不用去处理了吧,即不会对数据产生影响,也不会对用户产生影响。
重复提交是用户 点了两次提交 按钮,导致系统提交了两次,而实际上系统是想让用户 点击提交一次后就不能再操作当前页面了
重复提交、重复刷新都是来解决系统重复记录的问题。也就是说某个人在多次的提交某条记录(为什么?也许是闲了没有事情干的;最有可能是用户根本就不知道自己的提交结果是否已经执行了?!)。
但出现了这样的问题并不见得就必须处理,要看你所开发的系统的类别而定。比如你接手的是某个资源管理系统,系统本身从需求的角度根本就不允许出现"重复"的记录,在这样需求的约束条件下,去执行重复的提交动作只会引发“业务级异常”的产生,根本就不可能执行成功也就无所谓避免不避免的问题了。
http://dev.csdn.net/htmls/85/85046.html
还有就是系统的两个页面间的关系是通过FORM的POST对调用 的,当有些用户 点完提交跳到下一个页面后,用户 在浏览器里点击刷新时,就又提交一次数据到服务器了
有很多情况会出现重复提交的问题
最常见的,如果在一个添加、修改、或者删除页面发送请求后,会在后台处理后跳转到其他页面,如果是重定向呢,就不会出现这样的问题,如果只是跳转的话,用户再次刷新页面,就会再次提交该请求到后台处理
还有一个常见的,当用户点击一个按钮提交后,按钮没有处理,并且没有给用户必要的提示,很多用户因为心里着急,可能会连续点击按钮,这样也会造成重复请求的问题
还有很多很多,具体情况具体处理
一般开发还是要的,
注册用户可能不知道他提交了两次,发现返回了一个错误页面提示他用户名重复,注册的人可能就不解了,他可能就会根据提示改一个新的用户名重新注册了,而系统其实已经给他创建了这个用户
[quote]比如说我去注册用户,用户提交了两次。
我后台有判读,用户名相同是注册不成功的。
这样对系统没什么影响。
还要防止重复提交吗? [/quote]
这种情况对系统来说没有问题,只是对用户可能会有一点不友好,系统可能会提示用户2次,一次是注册成功,一次是失败,说用户已经存在。
比较好的是,用户点了一次就不能再点第二次了,直到请求处理完。
不过我个人认为这种情况不用去处理了。。
[quote]比如说我去注册用户,用户提交了两次。
我后台有判读,用户名相同是注册不成功的。
这样对系统没什么影响。
还要防止重复提交吗? [/quote]
这也是一种处理方式,即使有些时候后台做了判断,重复提交并没有达到多次处理数据的问题,但是往往不止是登陆,其他地方总会有考虑不全面造成重复提交的问题,总之,需要细心的去处理,应尽量避免