如何防止重复的Post操作

AYellow 2003-03-13 10:26:33
有的时候,因为速度(可能是网络速度也可能是程序速度)原因Web页面没有响应,客户可能会多次点击按钮,造成数据库中存在多条重复记录。
刷新页面也会造成这种情况

请问如何杜绝?
...全文
214 22 打赏 收藏 转发到动态 举报
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)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧