防止表单重复提交

借鉴文章出处:https://www.cnblogs.com/wuyx/p/6118484.html

在观看了上一篇 文章后,出于积累,我复述一遍,并且加入自己的理解。

关于表单重复提交,这种现象就是用户在使用软件时连续且快速得多点了几下提交按钮,或者提交后故意或者无意返回之前那个提交页面再次提交而导致的表单重复提交现象,这在web项目这一块比较常见,也是一个比较棘手的问题。以下是几种常见的解决方式:

一、数据库设置区分字段

比如在做提交前先用select count(id) from 表名 where id = #{id};查询一遍是否存在同样id的信息,如果有就返回重复提交,如果没有就提交成功,再跳转到下一个页面。

或者像连接文章所说那样,设置区分字段,在数据库建表的时候在id字段添加主键约束,账号,名称的信息添加唯一性约束。确保数据库只可以添加一条数据。这个要在设置表的时候就考虑到,是相对来说比较好的一个方式。

二、js控制

在提交后将提交按钮隐藏,这样就没办法调用function的提交方式了,自然而然不会重复提交,但是这要考虑到用户浏览器是否允许加载js,如果不允许的话那么这个方法是没有用的。

三、prg模式

post/Redirect/get,这个方式是在你post提交了表单以后重定向到提交后的页面。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值