社区
Web 开发
帖子详情
如何防止重复的Post操作
AYellow
2003-03-13 10:26:33
有的时候,因为速度(可能是网络速度也可能是程序速度)原因Web页面没有响应,客户可能会多次点击按钮,造成数据库中存在多条重复记录。
刷新页面也会造成这种情况
请问如何杜绝?
...全文
214
22
打赏
收藏
如何防止重复的Post操作
有的时候,因为速度(可能是网络速度也可能是程序速度)原因Web页面没有响应,客户可能会多次点击按钮,造成数据库中存在多条重复记录。 刷新页面也会造成这种情况 请问如何杜绝?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vcvj
2003-03-14
打赏
举报
回复
省得写了,多谢大家
suasalito
2003-03-14
打赏
举报
回复
学习,楼主提的问题很使用
elightning
2003-03-14
打赏
举报
回复
用Session变量记录post次数。
post后,处理post程序Session变量记录一次,初值0,判断如果是0次,执行数据库操作,然后变量增1。如重复post时,Session变量值1就不用执行数据库操作。这样就可实现了。
具体的写个程序一试就行了,我们的系统都是这样处理的。
AYellow
2003-03-13
打赏
举报
回复
》》设一个不能重复的字段就可以
就象在一个论坛发帖子,除了ID都是可以重复的
凋零的老树
2003-03-13
打赏
举报
回复
设一个不能重复的字段就可以
keygao
2003-03-13
打赏
举报
回复
》》把数据处理地页面与 post 页面分开 这样会防止刷新页面,至于Click button 我还没有好的办法
怎么分开?订单数据就在Form里
把Post的数据在一个页面处理,这个页面只是处理例如: 插入数据库 or update ,处理完后转向另一个页面
linzy
2003-03-13
打赏
举报
回复
不要用系统自增的数据类型。自增类型对数据的导入,导出等有很多的麻烦,
还不如自己写一个类维护ID的生成。
AYellow
2003-03-13
打赏
举报
回复
》》把数据处理地页面与 post 页面分开 这样会防止刷新页面,至于Click button 我还没有好的办法
怎么分开?订单数据就在Form里
AYellow
2003-03-13
打赏
举报
回复
》》设置主键
销售流水操作,每次Post自动生成的订单ID就是主键
keygao
2003-03-13
打赏
举报
回复
把数据处理地页面与 post 页面分开 这样会防止刷新页面,至于Click button 我还没有好的办法
AYellow
2003-03-13
打赏
举报
回复
》》加个判断吗,判断该记录是否已存在
自动生成一个ID,其他字段不是主键,怎么判断?
》》用Session变量记录post次数。
怎么做?
我想过加一个filter过滤Post请求,每次给每个Form分配一个ID,放在隐藏域里,如果发现重复的Post操作就滤掉,但是好像不太好
flashroom
2003-03-13
打赏
举报
回复
设置主键
rosen
2003-03-13
打赏
举报
回复
你在 JavaScript 分论坛里面找找吧。
3332221119
2003-03-13
打赏
举报
回复
优化数据库,设置主键
elightning
2003-03-13
打赏
举报
回复
用Session变量记录post次数。
zxhong
2003-03-13
打赏
举报
回复
加个判断吗,判断该记录是否已存在
AYellow
2003-03-13
打赏
举报
回复
这不是很好的方案,如果点按钮后网络出错,怎么办?
刷新页面又如何处理?
因为很多程序都会碰到这个问题,我觉得这个问题应该已经有很好解决办法。
想想,一笔生成两次,那还得了
flashroom
2003-03-13
打赏
举报
回复
同意。
onclick="javascript:this.button.disabled=true;"
这个意思
3332221119
2003-03-13
打赏
举报
回复
点击后用disabled将按钮灰化掉,java程序处理完后再恢复
fuchunjie
2003-03-13
打赏
举报
回复
方1:把Post的数据在一个页面处理,这个页面只是处理增删改 ,处理完后转向另一个页面
方2:设置Session
方3:insert前判断该记录是否存在
加载更多回复(2)
org.apache.http相关jar包下载(httpcomponents-client-4.2.5-bin.tar)
网络爬虫需要的org.apache.http包)(httpcomponents-client-4.2.5-bin.tar)
Chrome扩展安装包
Post
man 绿色版
收集到的可用的
Post
man的可用安装包,安装包内有使用说明。很多人无法在Chrome商店安装,下载的又无法使用的这个应该可以解决了。
如何
防止
重复
提交
转载 如何
防止
重复
提交 一、有很多的应用场景都会遇到
重复
提交问题,比如: 1、点击提交按钮两次。 2、点击刷新按钮。 3、使用浏览器后退按钮
重复
之前的
操作
,导致
重复
提交表单。 4、使用浏览器历史记录
重复
提交表单。 5、浏览器
重复
的 HTTP 请求。 二、
防止
表单
重复
提交的方法 1、禁掉提交按钮 表单提交后使用 Javascript 使提交按钮disable。这种方法
防止
心急的用户多次点击按钮。但有...
后端怎么
防止
重复
提交?(常用的做法)
后端怎么
防止
重复
提交?(常用的做法) 客户端的抖动,快速
操作
,网络通信或者服务器响应慢,造成服务器
重复
处理。
防止
重复
提交,除了从前端控制,后台也需要控制。因为前端的限制不能解决彻底。接口实现,通常要求幂等性,保证多次
重复
提交只有一次有效。对于更新
操作
,达到幂等性很难。 常用后端
防止
重复
提交方案 token 访问请求到达服务器,服务器端生成token,分别保存在客户端和服务器。提交请求到达服务器,服务器端校验客户端带来的token与此时保存在服务器的token是否一致,如果一致,就继续
操作
,删除服务器的
关于
post
重复
提交数据
此次测试是因为网络请求原因,
post
提交数据后,后台反应比前台慢,所以为了拿到请求数据,
post
会自动多次请求。我这里是监听视频播放,给用户追加积分。
防止
数据
重复
提交原理:每一轮数据提交的时候,前端建立一个时间戳作为判断数据是否
重复
的基准。后端执行时,将此次基准时间戳进行session存储,在此次程序执行完毕后,前端拿到返回数据,等待几秒钟再修改下一轮基准时间戳。这里要注意,当我们第二轮时间戳...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章