javascript-如何组织form重复提交
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何组织form重复提交,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1703字,纯文字阅读大概需要3分钟。
内容图文
背景:
今天被测试提了一个bug,很纳闷,因为这个bug是:没有禁止表单重复提交。顿时感觉form表单真是无处不在。
一般我们不做重复提交的处理,有些地方会使用js禁止提交按钮的方式,但也仅限于通过js提交的表单。
于是各种百度,有说使用session做标记的,根据标记来判断是否第一次提交,但想想这种方式对后端来说比较复杂,而且session也比较贵。
今天测试提的bug顿时让我毫无头绪了,因为这个表单是同步提交的,根本没有js参与。更不可能为所有的同步表单都写一套js。
那么,面对同步提交表单的这种情况,大家是如何解决重复提交问题的呢?
提出你的锦囊妙计吧!
回复内容:
背景:
今天被测试提了一个bug,很纳闷,因为这个bug是:没有禁止表单重复提交。顿时感觉form表单真是无处不在。
一般我们不做重复提交的处理,有些地方会使用js禁止提交按钮的方式,但也仅限于通过js提交的表单。
于是各种百度,有说使用session做标记的,根据标记来判断是否第一次提交,但想想这种方式对后端来说比较复杂,而且session也比较贵。
今天测试提的bug顿时让我毫无头绪了,因为这个表单是同步提交的,根本没有js参与。更不可能为所有的同步表单都写一套js。
那么,面对同步提交表单的这种情况,大家是如何解决重复提交问题的呢?
提出你的锦囊妙计吧!
onclick="this.disabled=true" 这么简单的一句代码用的着写一套???
对于前端来说, 防止重复提交是必须做的...
当然后端视情况要不要加, 因为前端只能防止用户手动多次点击, 但是没有办法阻止模拟请求
session设个过期时间,利用数据库唯一性(提交了是插到数据库吗),提交了本地存个cookie,第二次提交判断下有木有
一个结果,n种方法。
session(或者cookie)虽然比较贵但也可以说是比较节省的,毕竟其他方法还要进行新的模块调用(cache,db)
session_id就可以判断啊。
我支持禁用提交。其实并不复杂,提取出一个公共逻辑即可,并不需要对每个表单独写一套。
防止重复提交,说到底就是防止一个逻辑执行多次。然而要求后端完全幂等是不可能的,create操作就是个反例。因此更好的实践便是从前端入手。
内容总结
以上是互联网集市为您收集整理的javascript-如何组织form重复提交全部内容,希望文章能够帮你解决javascript-如何组织form重复提交所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。