• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html/xhtml > 防止用户将表单重复提交的方法汇总

防止用户将表单重复提交的方法汇总

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-05

本文主要包含表单,重复提交等相关知识,佚名 希望在学习及工作中可以帮助到您

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:

点击提交按钮两次。 点击刷新按钮。 使用浏览器后退按钮重复之前的操作,导致重复提交表单。 使用浏览器历史记录重复提交表单。 浏览器重复的HTTP请求。

  几种防止表单重复提交的方法

  1.禁掉提交按钮。表单提交后使用Javascript使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了。

  我之前的文章曾说过用一些Jquery插件效果不错。

  2.Post/Redirect/Get模式。在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。

  这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。

  3.在session中存放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。

  如果发现表单提交里没有有效的标志串,这说明表单已经被提交过了,忽略这次提交。

  这使你的web应用有了更高级的XSRF保护。

  4.在数据库里添加约束。在数据库里添加唯一约束或创建唯一索引,防止出现重复数据。这是最有效的防止重复提交数据的方法。

以上就是这4种方法的介绍了,小伙伴们如果有更好的解决方法,也请告之,本文将持续更新。

您可能想查找下面的文章:

  • HTML表单提交的几种方式_动力节点Java学院整理
  • HTML表单_动力节点Java学院整理
  • HTML基础必看---表单,图片热点,网页划区和拼接详解
  • 多种实例解析HTML表单form的使用方法
  • 浅谈表单中的只读和禁用属性
  • 基于HTML实现表单提交后不刷新页面
  • 防止用户将表单重复提交的方法汇总
  • 插入表单form上下都会空出一行的解决方法
  • HTML表单传值示例通过get方式传递
  • CSS样式控制实现IE提交表单记录历史点击返回信息仍在

相关文章

  • 2017-08-05关于shortcut icon和icon代码的区别介绍
  • 2017-08-05使用a链接时如何阻止超链接跳转
  • 2017-08-05Marquee标记在XHTML代码中该如何用
  • 2017-08-05HTML学习笔记--HTML的语法详解(必看)
  • 2017-08-05form的OnSubmit和input type=image使用介绍
  • 2017-08-05通过实例掌握BR和P标签的区别
  • 2017-08-05div容器自增长后其内的背景色或图片随之增长
  • 2017-08-05button没有指定type为submit点击按钮跳转不到指定url
  • 2017-08-05textarea标签大小不可变不能通过鼠标拖动的方式来拖动
  • 2017-08-05举例讲解HTML中iframe和frame的区别

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • w3c组织给出html4的样式建议
    • 关于html的下载功能详解
    • 浅谈语义化的HTML结构到底有什么好处
    • 深度剖析HTML的语意和与其相关的前端框架
    • 利用iframe技巧获取访问者qq实现思路及示例代码
    • 让访客记住网站的三段实用代码
    • 超链接的宽度和高度直接设置不起作用的解决方法
    • html的table用法(让网页的视觉效果显示出来)
    • 用标准dl,dt,dd标签抛弃table列表
    • IE6下网页制作参考 IE6 默认样式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有