现在的位置: 网页制作教程网站制作经验 >正文
网页高级教程

用户刷新页面如何让程序不重复提交表单

发表于2014/7/10 网站制作经验 0条评论 ⁄ 热度 3,467℃

很多的表单都是采用POST进行提交的。这种提交方式实现起来很容易。而且效率也比较好。不过在用户刷新页面的时候,可能会造成重复提交的现象,用户刷新的原因一般都是网页响应太慢了,或者浏览器卡死等情况。这样一刷新,网页又会重新提交,结果一个数据提交了两次。一般这样浏览器都会确认是不是继续这个提交,但是有的人误点。或者是根本不知道这个意思,所以造成界面不友好,不符合体验度等问题,那么怎么让网站用户刷新不让程序重复提交呢?

我们提供了两种方法解决此类问题。

使用Session防止重复提交

在提交的页面也就是数据库处理之前添加下面的代码:

if session("ok")=true then
response.write "错误,正在提交"
response.end
end if

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

禁止缓存不让后退

如果在操作数据库的时候可以后退,这时刷新了页面,就会再次执行添加操作,怎么办呢?禁止缓存的代码有时并不可靠,这时你只要在操作的页面加上就可以了,在网页的里指定要定向的新页,再点后退,看是不是不会再退到刚才的操作页面了,实际上已经把这个历史给删除了

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";

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

  • 暂无评论