如何取消刷新页面弹出"重试"对话?

找了好多类似的问题都没有我想要的答案,请大家看清楚再回答.

比方说,登录过程中,成功之后转向还有一个页面success.jsp,

这时,假设刷新该页面就会出现"重试"对话框,怎样不让它出现呢?

有人说用GET请求,抱歉,用户登录不可能用GET请求,数据不安全...



------解决思路----------------------

同问,帮顶 

------解决思路----------------------

用ajax登陆就没这东西了 

------解决思路----------------------

仅仅要有 post 请求到某个页面,刷新该页面就会出现“重试”的现象



解决的方法:

请求页向中间页(或servlet)发送请求,中间页对请求进行处理。把结果存入 session

然后用 response.sendRedirect(...) 跳转到success.jsp

这时候刷新success.jsp ,就不会出现“重试”了



但这种方法非常消耗server端内存,最好及时清空 session 

------解决思路----------------------

探讨

7楼的方法可行。可是不太可能这样做。

------------------------------



------解决思路----------------------

"重试"是 HTML 标准中规定的,假设要去掉,有下面方法:

1. 建议 HTML 标准委员会去掉"重试",等待他们更改标准

2. 自己开发一个浏览器,不遵守HTML 标准,不"重试"

3. 告诉用户。这个页面不能刷新。



我一般都是用方法 3 的。 

------解决思路----------------------

有表单提交的页面尽量少用刷新吧......要不然有时候会出现意想不到的结果 

------解决思路----------------------

你须要全然替换掉当前页面才干够。 

------解决思路----------------------

把表单提交改成链接 

------解决思路----------------------

把表单提交改成window.location.href=…………………………?username=***.value&password=***.value

曾经向阿里提交项目測试时。他们把这个作为严重BUG反馈给我们的,当时相当郁闷。 

------解决思路----------------------

jsp先提交到servlet再跳转到jsp就好了 

------解决思路----------------------

提交页面用ajax也不太好。建议屏蔽刷新。 

------解决思路----------------------

防止反复提交吗,差点儿全部的web框架都攻克了这个问题。原理就是7楼说的,先处理请求然后302跳转

假设success.jsp要显示点东西又不想弄脏session直接放到url里面吧 

------解决思路----------------------

应该是这样,比方登陆页面是login.do,post后回到login.do,假设是struts,能够用ActionMessages返回校验參数,假设登陆成功,就用location.href转向.这样就能够避免刷新的问题.

应该你点了一个serverbutton,在按刷新的化会又一次提交一次。

最简单的方法是在你提交事件里面用Response.Redirect(Request.Url.ToString());跳转当前页面

那么解决的方法就来了,既然提交表单不会拒绝。那么我们就做个表单刷新用。首先我们要找到刷新页面时究竟有什么东西要被反复提交。这就涉及到一个server对象REQUEST,暂且这样称呼。做WEB开发的人对它都很熟悉。无论是POST方式还是GET方式甚至是混合提交的方式提交的数据,都存储在这个对象中。那么把它的数据项拿出来做成一个个隐藏域放在表单中。ACTION设为_SELF并运行提交,那么效果将与按F5然后点那个倒霉的“重试”效果是一样的。

由于点击了server控件,再刷新时,就会提示重试或取消,把该操作用javascript来完毕,复杂的操作能够用AJAX来完毕

Response.Write(" <script>window.location.href='Test.aspx'; </script>"

由于你用的是server控件。该控件启用了viewstate=true,你试试改成fales看看值还在不在

<%@ Page中设置enableViewState="true">

<%@ Page EnableViewState="true" %>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

F5当刷新页面,出现“要再次显示此页,web该浏览器,你曾经有过发送消息再次提交...点击重试&quot;,如何防止此对话框解决方案的出现,的更多相关文章

  1. 十六、JSONObject与JSONArray使用-不刷新页面做回写显示

    需要导入:json-lib-2.2.2-.jar包 1.json:就是一个键对应一个值,超级简单的一对一关系.对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找. String arr ...

  2. 不刷新页面获取HTML进行显示

    $.ajax({ url: "请求地址",          dataType: "text",         type: "GET"   ...

  3. LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)

    form.on('submit(mySearch)', function(data){ table.reload('userTable', {//就会读取后台数据,重新加载: page: { curr ...

  4. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  5. browsersync即时刷新页面

    Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面 官网: http://browsersync.cn/ 多个浏览器.多个设备间来 ...

  6. c#.net防止按F5刷新页面重复提交的方法

    在网上购物的过程中,提交完一个页面后,如果此时按f5刷新,则会弹出一个提示:如果继续,则会重新发送提交我们刚才提交的内容,这个问题应该规避掉,不然总是重复提交付款,那可不是件好事. 在c#.net中的 ...

  7. vue:解决使用param传参后,再次刷新页面会新增一个原有的tab

    问题:在最近的项目中,我通过传递不同的参数,复用同一组件进行渲染,然而意外出现一个bug,就是当我重新刷新该页面时,会新增一个tab 原来的: 刷新页面后: 查阅资料后,发现该现象是由于通过param ...

  8. 刷新页面要通过F5

    而不是选中地址栏再按enter键,这样可能产生两种问题: 1.地址栏中的URL可能包括你上次提交的参数,你按了enter之后可能导致上次提交的参数重复提交 2.可能导致根本就没有刷新页面,刚才我修改了 ...

  9. 解决Vuex持久化插件-在F5刷新页面后数据不见的问题

    页面刷新后,想保存页面未保存的数据.我们总是习惯于放在浏览器的sessionStorage和localStorage中.但是用了vue后,vuex便可以被应用了. vuex优势:相比sessionSt ...

随机推荐

  1. 关于java中的事件类型

    java中的Date是为了证明:天才的程序员也会犯错: java中的Calendar是为了证明:普通的程序员也会犯错. ———————————————————— stackoverflow上大部分都推 ...

  2. AWS(0) - Amazon Web Services

    Computer EC2 – Virtual Servers in the Cloud EC2 Container Service – Run and Manage Docker Containers ...

  3. Python heapq 模块的实现 - A Geek's Page

    Python heapq 模块的实现 - A Geek's Page Python heapq 模块的实现

  4. hdoj 1258 SUM IT UP

    程序的思想是:输入数据是,先使用快排对其从大到小进行排序,然后记录相同数据的个数,比如4 3 3 2 2 1 1,最后的数据变成4 3 2 1 ,并且同时数据的个数f[]变成1 2 2 2 然后就是遍 ...

  5. [gkk]传智-适配器设计模式,如同电源适配器

    //适配器设计模式 是图形化设计中用的.如同电源适配器 import java.awt.*; inport java.awte public calss MyFrame{ public static ...

  6. hello MemSQL 入门安装演示样例

    一,介绍 MemSQL号称世界上最快的分布式关系型数据库,兼容mysql但快30倍,能实现每秒150万次事务.原理是仅用内存并将SQL预编译为C++. 二,部署 官网下载地址:http://www.m ...

  7. C++--allocator类的使用

    C++为我们提供了安全的内存空间申请方式与释放方式,可是new与delete表达式却是把空间的分配回收与对象的构建销毁紧紧的关联在一起.实际上,作为与C语言兼容的语言,C++也为我们提供了更加底层的内 ...

  8. c# winform 子窗体访问父窗体中的方法和变量

    今天的工作中突然用到这个了,不过以前没有接触过呢!不过,在有经验的同事的帮助下,这个问题也很快解决了.具体可以分为以下几种方式: 1.在父窗体中构造子窗体对象时,将父窗体传递过去: 如:FrmSub ...

  9. hdu2089(数位dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间[a,b]内不含有62或4的数的个数. 分析:数位dp,dp[pos][0]表示到第 ...

  10. zoj1610(线段树)

    题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610 题意:在0-8000长的线段里面,按先后次序依次覆盖颜色, ...