为什么保存后要关闭页面

我是个VB程序员出身,因此做web新增页面时总喜欢在保存之后,直接切换到编辑页面,因为窗体应用就是这样的。直到今天我才恍然大悟,这样是有问题的。

 

当页面跳转到编辑页面,如果用户此时刷新页面,之前的新增提交又会执行一遍,造成了重复提交。而且这种提交对于服务端是无法判断的,因为对于它来说就是一次正常的提交。

 

要避免这种情况发生,最简单的就是提交后,返回成功提示页面,待用户确认后直接关闭页面,不给用户刷新的机会。我想绝大多数WEB程序框架都是这样解决的,但不知是否所有程序员都考虑过为什么会这样,就像我。

 

其实还有一种情况,就是必须返回到编辑页面,不能关闭页面。比如表单需要上传附件,如果上传页是个单独的页面(我喜欢这样处理)。在上传附件之前,我需要将表单进行一下提交,获得主键之后再自动打开上传页,这样才能保证不造成垃圾附件(如果主表单未进行提交操作)。在打开上传页后(非模式打开)用户在主表单上就可以进行刷新(其实不用用户,因为IE会提示你是否允许弹出页,当你允许后,页面就会刷新),要避免这种情况,就需要重定向了。

 

真是自报家丑,高手们请一笑而过,望对新手们有所帮助。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值