怎样防止用户刷新页面时重复提交上一页post过来的数据?!

snailili 2003-09-29 03:42:34
数据从A提交到B页,post方法,比如是新增留言,
此时刷新B页,浏览器会出现提示:
“...请单击重试再次发送信息...”
如何让用户刷新B页但又不要重复提交数据?!
如果是提交修改信息也就罢了,但很多时候都是新增记录,
这时刷新就会重复的新增记录
右键被屏蔽了,但F5键屏蔽不了,return false对F5键不起作用
(绝非A页面过期问题,就算我让A页面过期了,B页面刷新,post的数据照提交不误,烦)
...全文
783 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
pazll 2003-09-29
  • 打赏
  • 举报
回复
我也是用js跳转;不过反应有点慢!
qhdsnow 2003-09-29
  • 打赏
  • 举报
回复
可以把A页B页的内容都放在一页里,或用session()来判断一下。
avonqin 2003-09-29
  • 打赏
  • 举报
回复
不可能设置Session吧,一个文员要新增N个页面,难道我跟她开N个Session?
那一个系统有N个文员在用怎么办?!N×N?!

什么逻辑呀?

设计思路:
'利用动态session("flag")来判断是否添加数据
'如果刷新页面,session("flag")=request("flag")
<% if request("submit")="提交" and request("flag")<>"" and session("flag")<>request("flag") then %>
……
'提交后处理程序
……
'处理后,设置
session("flag")=Request("flag")
<% end if %>

#填写表单
<%
Dim num
Randomize
num = Int((1000-1+1)*Rnd+1) '动态获取flag的值
%>
<form>
……
<input type=hidden name=flag value="<%=num%>" >
……
<input type=submit name=submit value="提交" >
</form>
snailili 2003-09-29
  • 打赏
  • 举报
回复
哈哈,到底还是csdn的NB,我以后试试
snailili 2003-09-29
  • 打赏
  • 举报
回复
to : angelheavens(龙辉)
拜托,我是说要折腾我那些querystring和input,有些参数必须传递的啊~~
而且我基本上每个页面都要传参的啊
tripofdream 2003-09-29
  • 打赏
  • 举报
回复
CSDN的提交与处理是在框架页内(IFrame)进行的,处理完后只要在框架页内用脚本刷新top frame,这样就不用处理查询参数了(查询结果在主Frame中显示)
avonqin 2003-09-29
  • 打赏
  • 举报
回复
当页提交到当页

那就好办了~~~~~
ht1980 2003-09-29
  • 打赏
  • 举报
回复
还是用session保险点
angelheavens 2003-09-29
  • 打赏
  • 举报
回复
当前页也没有关系呀
这样做:
<script language="javascript">
top.location.href="文件名"; '还是跳到本文件
</script>
no820824 2003-09-29
  • 打赏
  • 举报
回复
数据处理单独做一个页.

填写数据的页面加上清除缓存的语句.

<%
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
%>

清除缓存..
snailili 2003-09-29
  • 打赏
  • 举报
回复
完了完了,
我是当页提交到当页,还有一些查询参数要传递,
要跳转的话....我不又要折腾那些querystring和input?!
:)
fangpeng2003 2003-09-29
  • 打赏
  • 举报
回复
在数据处理页面最后加上
<script language="javascript">
window.location.href="ok.asp";
</script>
fangpeng2003 2003-09-29
  • 打赏
  • 举报
回复
在数据处理页面最后加上
<script language="javascript">
window.location.href="ok.asp";
</script>
fangpeng2003 2003-09-29
  • 打赏
  • 举报
回复
在数据处理页面最后加上
<script language="javascript">
window.location.href="ok.asp";
</script>
tripofdream 2003-09-29
  • 打赏
  • 举报
回复
"处理完后马上跳转地址",这是最简单有效的方法,csdn也是这么做的。
jueban9818 2003-09-29
  • 打赏
  • 举报
回复
(1)处理完后马上跳转地址
有个中间添加成功页面(2秒钟)
snailili 2003-09-29
  • 打赏
  • 举报
回复
有没有其它方法?!
不可能设置Session吧,一个文员要新增N个页面,难道我跟她开N个Session?
那一个系统有N个文员在用怎么办?!N×N?!
007james 2003-09-29
  • 打赏
  • 举报
回复
用session 判断把
lxqlogo0 2003-09-29
  • 打赏
  • 举报
回复
对,强烈同意楼上。
avonqin 2003-09-29
  • 打赏
  • 举报
回复
第一次提交后设一个session(),然后再次提交后,可通过session()判断防止信息再次写入数据库里
加载更多回复(3)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧