注册时同一个用户注册多回,数据库中也出现多条一样的数据,后台已经进行了校验,前台js也限制了两秒提交一次,但是还是会出现多条

注册时同一个用户注册多回,数据库中也出现多条一样的数据,后台已经进行了校验,前台js也限制了两秒提交一次,但是还是会出现多条

素胚勾勒不出你
浏览 793回答 13
13回答

不负相思意

数据库加用户名主键唯一验证呀

蝴蝶不菲

解决方案: 1、前端按钮触发后禁用, 直到服务器返回数据 2、数据库添加主键唯一检验

开满天机

前端可以在进入页面的时候设置注册按钮可以点击,在点击发送注册请求的时候先把注册按钮设置成不可点击,等请求回来假设注册失败,则把按钮再设置成可以点击。

弑天下

数据库中用唯一索引作限制

FFIVE

不知道你是用debouce还是throttle限制两秒提交的 比较好的做法是点击注册把按钮禁用掉,等请求返回再在回调函数启用按钮,记得报错的回调也要启用注册按钮 后端数据库字段也要做唯一索引

回首忆惘然

服务端校验需要作唯一性的判断;前端按钮点击后禁止点击,等待服务端返回后解除禁止点击,或者通过超时方式来实现

繁花不似锦

前端禁用按钮的方案虽然也是必需的,但是这个仅仅只是避免普通用户多次点击而已,不能阻止非浏览器的‘用户’不管服务器接受了多少次重复的请求,必须后端进行处理目的是同一个用户只能注册一次,参考其他回答,主键

慕森卡

参考我的文章Web项目如何防止客户端重复发送请求

动漫人物

数据库用户名字段做唯一限制,后端逻辑做防重复提交并且校验用户名是否存在,前端页面做防重复提交。

明月笑刀无情

重复发送请求和同名重新录入是两个问题,后者更有可能是做后台校检时做判断的部分出现了问题可能是(1)判断的时机不对(2)比较的后台参数不对(3)没有完成对后台相关数据的遍历(4)没有对两边的数据做正确的格式化处理,使得两边根本就无法相等
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java