ASP网页用户刷新不再重复提交表单

 

很多提交表格在用户刷新页面的时候,会造成重复提交的现象,用户刷新的原因一般都是网页响应太慢或者浏览器卡死等情况。这样一刷新,网页又会重新提交,结果一个数据提交了两次。一般这样浏览器都会确认是不是继续这个提交,但是有的同人误点。或者是根本不知道这个意思,所以造成界面不友好,不符合体验度等问题,那么怎么让网站用户刷新重复不再提交呢?


工具/原料
用Dreamweaver工具编辑


步骤/方法


1.使用Session防止重复提交
在提交的页面也就是数据库处理之前添加下面的代码:
if session("ok")=true then
response.write "错误,正在提交"
response.end
end if
数据处理完后,修改session("ok")=false。
这是一个方法之一。
2.另一个方法
在用户提交信息后,我们不要在POST提交的目标URL返回结果页面,而返回一个302将浏览器重定向到真正的结果显示页,然后浏览器通过GET去获取那个页面。这样之后,用户刷新结果页,或者通过历史记录回到该页面,都不会导致浏览器要重新进行POST,达到了防止用户点刷新按钮时重复提交的问题。
3.禁止缓存不让后退
如果在操作数据库的时候可以后退,这时刷新了页面,就会再次执行添加操作,怎么办呢?禁止缓存的代码有时并不可靠,这时你只要在操作的页面加上就可以了,在网页的里指定要定向的新页,再点后退,看是不是不会再退到刚才的操作页面了,实际上已经把这个历史给删除了
4.ASP网站禁止后退:
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
5.ASP.NET的:
Response.Buffer=true;
Response.ExpiresAbsolute=DateTime.Now.AddSeconds(-1);
Response.Expires=0;
Response.CacheControl="no-cache";


注意事项
事实上让用户刷新不再重复提交还有其他的一些方法,这里就不详述了。

未经允许请勿转载:超人很忙空间 » ASP网页用户刷新不再重复提交表单

赞一个 (0)
分享到: +More