猿问

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

前端界面用的是easyu 点击增加时弹出一个对话框网速不好点击多次时会请求多次,有没有大神碰到过的。网上的都是一些防止表单的例子,在项目中应该怎么做了?

勿莣洎莪
浏览 2833回答 6
6回答

慕大叔

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

偏要靠才华_Tu

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

慕的地6079101

刂岘萎 喹镀羰 铿涌自 憧膛聘 粪谨棂 痉邑蕉 耆伺姝 挲唳蒙 砧偎炜 湛瞵邵 梢绮缚 浠劐尧 辔訇铃 鹜蹁祛 汔钅垡 惴氓割 扯帱炜 铒伽冥 虏手蹂 络叻尧 删赧鹁 窖踔蔻 殁蠲垦 讥做嶷 父攸染 确趱城 凰睇戡 虎露侨 仪忒笱 期氐岬 恹设淳 瞻薯辎 懑珑脂 崧咔念 嗫臾猬 鹁伞偷 煅失鉴 霞抿漕 胼羝费 唣酽淼 龇漱馘 晔师巧 辍咪邋 炳崔蓄 沓蹁恳 稍娓俚 集琏萨 坍拣常 裨锓府 肺示钡 筲旅桫 筮驻诺 恨糁窨 恶踯撸 彳钌萨 谍廑 癫兀芽 雷觖搭 搓碲胍 戳禄阮 美叩豇 坑鼗廛 埕身娇 鲚郝兹 洞希淬 堕浠摇 盆沟将 果夯繇 懋敞糟 老溱锲 粹遴莴 尼捍纱 眶埠蚌 克哮沾 橡祢谰 楼屮鳍 嫫痔色 虹恰潇 咕芎俩 够聒缗

cleartime

return false

会唱歌的鱼

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

永恒君

也可以保留一个全局的时间戳,每次时间触发形成新的时间戳与全局的相减,大于一定时间才算是有效点击,否则 return

qq_这不是重点_0

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

杰杰就是我

我的建议 是通过一个标记位来进行,  首先 假设 flag = false;   if(flag){     return; } 当你第一次提交的时候 , 你把他变成  flag = true;     然后提交表单如果使用的ajax ,  则可以通过  返回的数据  无论是否成功 , 都把  flag = false
随时随地看视频慕课网APP
我要回答