怎样防止刷新重复提交、防后退

提交后禁用提交按钮

1、如果提交后,按F5刷新怎么办?

使用Session

在提交的页面也就是数据库处理之前:

if session("ok")=true then

response.write "错误,正在提交"

response.end

end if

数据处理完后,修改session("ok")=false。

数据处理成功马上Redirect到另外一个页面

操作后刷新的确是个问题,可以使用跳转页面、关闭本页面,如果是有参数数据条件来控制的,那就应该好做了,可以直接修改window.location的值,把参数全部改掉,这样就差不多了。

缺点:简单地运用Response.Redirect将不再有效,因为从一个页面转到另一个页面,都必须用客户端代码清除location.history。注意,这种方法清除的是最后一个访问历史记录,而不是全部的访问记录。 点击后退按钮,再点击后退按钮,可以看到这时打开的是本页面之前的页面!(当然,这是在客户端启用了JavaScript功能的条件下。)

2、究竟怎样才能"禁用"浏览器的后退按钮?或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”

遗憾的是,不能禁用浏览器的后退按钮。

防止网页后退--新开窗口

用window.open弹出表单页面,点提交后关闭该页;处理提交的ASP页也是用弹出,设定表单的target,点提交时window.open("XXX.asp","_blank"),然后用JS来提交表单,完成后window.close();

简单的说,就是提交表单的时候弹出新窗口,关闭本窗口。

3、如果按后退,怎么办?

防止网页后退--禁止缓存

在进行数据库添加操作的时候,如果允许后退,而正巧有刷新了页面,就会再次执行添加操作,这肯定不是我们需要的,像一般网上很多禁止缓存的代码,有时并不可靠,这时只要在操作的页面加上就可以了,在网页的里指定要定向的新页,再点后退,看是否不会再退到刚才的操作页面了,实际上已经把这个历史给删除了

ASP:

Response.Buffer = True

Response.ExpiresAbsolute = Now() - 1

Response.Expires = 0

Response.CacheControl = "no-cache"

ASP.NET:

Response.Buffer=true;

Response.ExpiresAbsolute=DateTime.Now.AddSeconds(-1);

Response.Expires=0;

Response.CacheControl="no-cache";

mysql 防重复提交_怎样防止刷新重复提交、防后退相关推荐

  1. python表单防重复提交_防止表单重复提交的几种策略

    表单重复提交是在多用户Web应用中最常见.带来很多麻烦的一个问题.有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次. 点击刷新按钮. 使用浏览器后退按钮重复之前的操作,导致重复提交表单. ...

  2. java表单防重复提交_防止表单重复提交的解决方案整理

    用户在操作表单Post数据时往往会出现表单数据重复提交的问题,尤其在Web开发中此类问题比较常见.刷新页面,后退操作以前的页面,单机多次按钮都会导致数据重复提交.此类问题是因为浏览器重复提交HTTP请 ...

  3. 前后端分离重复提交_防止表单重复提交(二)

    实现原理: 1.页面和后台同步存入一个token,一旦刷新页面,此token都是会刷新的 2.提交表单时,会带上这个标识token 3.请求后台,将此token和后台存入的token比对 3.1 校验 ...

  4. java防止表单二次提交_防止表单重复提交

    在Web开发中表单的重复提交是很严重的问题,重复提交成功会产生垃圾数据消耗不必要的资源,更严重的是如果遇到恶意刷库的情况垃圾数据更是数不胜数.在正常使用过程中产生重复提交的情况也有多重情况:鼠标连击. ...

  5. 分布式锁防止订单重复提交_防止表单重复提交看这里!!!

    要解决重复提交这事,先要知道什么是重复提交 假如用户的网速慢,用户点击提交按钮,却因为网速慢,而没有跳转到新的页面,这时的用户会再次点击提交按钮,举个例子:用户点击订单页面,当点击提交按钮的时候,也许 ...

  6. 2篇word文档比较重复率_论文深耕 | 论文重复率太高怎么办?7个降重技巧收好了!...

    Hello! 这是你与「大学生科研竞赛」的第 25 次相遇. 不知道从什么时候开始,我们的网络社区被各种关于论文降重.论文查重.论文改重的知识所包围.相信每个上了大学的朋友或多或少都会接触到这方面的内 ...

  7. git 提交_使用Git-Rebase合并多次提交

    在平时的软件开发中,我们每个team使用一个公共仓库(这里说的是Git仓库).每当有一个新的需求,我们会拉出一个特性分支,然后在这个特性分支上做开发以及提交个人的代码. 我有个习惯就是:为了确保代码的 ...

  8. md5会重复吗_自媒体平台视频重复审查机制,如何避免自己做的视频和别人的重复...

    短视频和自媒体火爆,很多朋友喜欢做一些搬运视频或者对一些已经有的视频进行剪辑上传,从而获得一些浏览和收益,做过的朋友都知道这么做最大的问题就是可能会碰到同行,视频已经搬运过了,或者你俩剪辑的视频差不多 ...

  9. mysql 随机取不重复数据_随机生成不重复数字,想做Excel抽奖器你必须掌握!

    年会期间,大家最期待的便是抽奖环节了,只是有人欢喜有人忧,有的人连续几年每次都能抽中,有的人就像我一样,年年不中.... 人人概率相等,我觉得是不存在的 那如何用Excel做一个简易抽奖器呢?这个你必 ...

最新文章

  1. 第四次作业——黄渗茹
  2. 【Python教程】删除字符串中字符的四种方法
  3. 技术人员是如何分析游戏环境的? 《影之诗》牌组趋势分析
  4. STM32 通用定时器基本原理
  5. NOIP 2010 引水入城
  6. 如何处理ESXi Hang机
  7. pythont提示AttributeError: module ‘scipy.misc‘ has no attribute ‘imsave‘或‘imread‘
  8. 使用Hyper-V创建虚拟机
  9. python 的csr_Python scipy.sparse.csr_matrix()[csc_matrix()]
  10. 通过JAVA的反射调用类中的公有私有方法
  11. Ubuntu系统安装向日葵
  12. linux运行getch吗,怎么样在linux下,实现getch函数功能
  13. 二、NPP/VIIRS夜间灯光数据校正之投影变换、裁剪、重采样
  14. chrome浏览器调试时阻止图片的加载
  15. 关于智能家居,一篇绝对中立的详细指南及各类问题解答
  16. 2022 年最有前景的 5 个 Web IDE
  17. 非IT公司信息化团队建设总结——1.取舍
  18. get_chunk用法
  19. 哈工大c语言编程题,哈工大c语言练习题
  20. 华为云讲解:2. Istio Pilot 与服务发现

热门文章

  1. glibc:fd_set机制
  2. C++类的定义和创建
  3. Navicat的快捷键
  4. delete index mysql_为什么MySQL不建议delete删除数据「心得分享」
  5. 小米笔记本 镜像_华为的裤衩——小米互传
  6. python代码手机壁纸_Python实现设置windows桌面壁纸代码分享
  7. mariadb10.2 mysql5.7_说说在MySQL5.7迁到MariaDB10.2时栽的一部分坑
  8. maven怎么强制updating_业余草 maven异常:Updating Maven Project 的统一解决方案
  9. [Unity脚本运行时更新]C#5新特性
  10. nginx部署两个php虚拟主机,nginx服务器,fastcgi模式,添加虚拟主机(多站点)配置...