为了账号安全,请及时绑定邮箱和手机立即绑定

在项目中如何防止表单重复提交?

在项目中如何防止表单重复提交?

勿莣洎莪 2016-12-22 13:57:58
前端界面用的是easyu 点击增加时弹出一个对话框网速不好点击多次时会请求多次,有没有大神碰到过的。网上的都是一些防止表单的例子,在项目中应该怎么做了?
查看完整描述

6 回答

?
慕大叔

TA贡献75条经验 获得超103个赞


页面控制:按钮做表单提交的时候写个选择器做个loading防止重复提交操作。相应的后台也要做一些控制

查看完整回答
1 反对 回复 2016-12-22
?
偏要靠才华_Tu

TA贡献2条经验 获得超1个赞

你可以设计一个Token,然后分别放在httpsession域里面和表单的hidden域里面(sToken,hToken),然后在你的serverlet里面做判断,只要iToken.equals(sToken)则一致认为是重复提交

查看完整回答
1 反对 回复 2016-12-22
?
cleartime

TA贡献7条经验 获得超0个赞

return false

查看完整回答
反对 回复 2016-12-29
?
会唱歌的鱼

TA贡献23条经验 获得超10个赞

设置标志位,最好不要定义全局的变量,这样会全局污染,可以定义一个对象,对象中定义一个标志位,
不过我很好奇,一般情况下,表单提交不是同步请求吗?页面一般都会刷新的,你还可以操作。
还可以通过一个设置一个模态框作为请求的过度动画

查看完整回答
反对 回复 2016-12-23
?
永恒君

TA贡献2条经验 获得超0个赞

也可以保留一个全局的时间戳,每次时间触发形成新的时间戳与全局的相减,大于一定时间才算是有效点击,否则 return
查看完整回答
反对 回复 2016-12-22
?
qq_这不是重点_0

TA贡献1条经验 获得超0个赞

如果每次都是生成token,必然影响效率,在前端更好一些

查看完整回答
反对 回复 2016-12-22
?
杰杰就是我

TA贡献32条经验 获得超24个赞

我的建议 是通过一个标记位来进行,  首先 假设 flag = false;   

if(flag){
    return;
}
当你第一次提交的时候 , 你把他变成  flag = true;     然后提交表单

如果使用的ajax ,  则可以通过  返回的数据  无论是否成功 , 都把  flag = false

查看完整回答
反对 回复 2016-12-22
  • 6 回答
  • 1 关注
  • 2832 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信