博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表单的重复提交问题
阅读量:6622 次
发布时间:2019-06-25

本文共 886 字,大约阅读时间需要 2 分钟。

如何防止表单的重复提交...

问题分析:

1、你怎么知道提交的表单是重复的?
2、确认了表单是重复的,如何去防止被提交...

问题解答:

1、个人认为:对同一个表单做了相同的重复操作...就认为是重复表单...也即每次提交表单的内容是相同的就认为是重复的...
2、解决办法:
  js解决:
(1)对按钮进行控制

var $button = document.getElementById("btn");//获取button对象    $button.attr("disabled","disabled");    window.setTimeout(function(){    $button.removeAttr("disabled");},1000);

当然这么操作的前提是,你在disbaled后,要对表单进行处理,比如清空操作...

(2)做状态位进行标识...

内容:

疑问:做这种标识,如何判断你是换了另一个表单...

(3)加验证码,在每次提交时进行验证...防止重复提交..

后台程序解决:

大概主要用到一个token机制..
可以参考struts2的token机制,还有Token Session(令牌机制)
在每次表单提交时,action会调用isValidToken()方法,进行判断是否相同的token,如果相同,
进行提交,如果不同,认为是重复提交..
当然这种前提是:
在你打开新增表单的时候,会调用action,生成token码..然后在你的表单和session中各保存一份,
当提交调用action时,会进行token检查,并且在action处理完后,会重置session 中的token,此时你再提交,
就会导致token不一致,没法提交...当然...意思就是要重新调用action生成新的token,和session保持一致...

转载于:https://www.cnblogs.com/lovebaoqiang/p/3753488.html

你可能感兴趣的文章
分享50款 Android 移动应用程序图标【下篇】
查看>>
软件项目管理流程总结
查看>>
配置XenDesktop一例报错-序列不包含任何元素
查看>>
数组循环移位
查看>>
一个优秀的公众号运营者需要具备哪些能力?
查看>>
桌面云
查看>>
教大家如何在word 2007中同时打出对齐上下标以及字母头上有波浪线(非编辑器)...
查看>>
Spring Boot五:使用properties配置文件实现多环境配置
查看>>
vim取消高亮显示
查看>>
设计从“心“开始
查看>>
windows7 系统盘 瘦身软件介绍: 冗余文件清理工具
查看>>
网络安全系列之四十六 在IIS6中配置目录安全性
查看>>
javascript理解数组和数字排序
查看>>
CocoStudio游戏发布后资源加密大致实现思路
查看>>
WPF SL 获取RichTextBox 的内容(string)
查看>>
微软同步框架入门之五--使用WCF同步远程数据
查看>>
Last-Modified、If-Modified-Since 实现缓存和 OutputCache 的区别
查看>>
漂亮彩色验证码 以及 数学运算表达式形式的验证码
查看>>
理解SQL代理错误日志
查看>>
维护计划作业
查看>>