最近在用java开发做毕业设计,在插入商品数据的时候,在网页插入了一条数据卡了一下,然后
查看数据库发现竟然插入了三条一样的数据。再然后我又插入了一条数据,插入的时候
没有卡一下,然后查看数据库,发现正常地插入了一条。各位大神谁能解释一下为什么?
还有怎么解决?我商品id是自增长的,用spring管理事务。
没有做防止重复提交处理,正常是用token令牌来保证表单只提交一次的
你看看是不是执行插入的地方逻辑错误抛异常了,控制台有错误提示吗
能贴出执行插入的代码不
卡的时候刷新页面重复提交了两次?
卡了,你是不是连点了好几下?
卡了,你是不是连点了好几下?
控制台没异常,代码块比较多,我就不贴了,逻辑应该没问题,插了几十条了,就一条有异常。还有卡住的时候我没有多点....
查看开发人员工具(F12)中的NetWork中是否有3条提交信息,根据你说的卡,有可能是提交多次造成的。并且进入java后端后,是不可能提交3次的,具体不知道怎么形容,只能形容为在提交后执行的方法基本是单线程。
我也出现过这种问题,增加数据的时候看数据库,同时多插入了两条空数据。不过不影响就是了。
这样的问题,调试进代码走走,应该能找到问题
我碰道过一次 那次是硬盘有问题 换了个盘就行了
一般出现这种情况,如果后台逻辑没有问题,那一般就是由于网络或机器反应慢,用户端有多次点击提交。通常解决这种问题的方法是,点击提交一次
后提交按钮失效,待后台操作完成后返回状态值,再恢复按钮为可操作状态。
你这个现象我也曾遇到过。这个是因为发生了多次提交事件,具体为什么触发了多次,我这边的问题是因为鼠标老化导致,虽然只点击一次但是触发了多次点击事件。还有你如果想防止这种情况的发生,可以在触发一次后台事件后将按钮标记为disabled
按你说的商品id是自增长的,而插入了三条一样的数据;是商品id都是一样的吗?如果不是。可以打开浏览器开发者模式,看看是不是重复提交了3次请求
可能是你调试代码的时候js代码断点没有释放,然后你多次点击新增然后再释放断点导致的
数据类型是否一至,外键是否关连
debug一下看是不是执行了3次插入操作