时间:2021-05-26
Question
在Web应用中,采用POST提交信息是非常常见的,然而如果目标页面打开得太慢,用户就可能会刷新页面,这时候之前已经提交过的信息就会被重复提交。即使用户成功打开了POST提交目标页,之后他通过链接导航到别处了,再退回到POST提交目标页时仍可能会重复提交页面(例如因为浏览器缓存已失效)。而且,只要碰到重复POST提交的场景,浏览器就会问用户是否确认重做此操作,用户并不一定能正确理解重做意味着重做什么,浏览器又不允许网站向用户解释清楚,所以这属于非常不友善的设计。那么我们应该如何避免用户刷新带来的重复提交呢?
Answer
有一种最简单的模式能够解决这个问题,叫做PRG,也就是Post-Redirect-Get。在用户提交信息后,我们不要在POST提交的目标URL返回结果页面,而返回一个302将浏览器重定向到真正的结果显示页,然后浏览器通过GET去获取那个页面。
这样做的话,用户刷新结果页,或者通过历史记录回到该页面,都不会导致浏览器要重新进行POST,自然也就不会出现烦人的是否重做对话框了。而对于你来说,也有效避免了用户重复提交信息的可能性。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
macOS默认有睡眠功能,电脑开机以后十分钟没有任何操作(默认情况下)电脑进入睡眠模式,因为十分钟太少,会带来不便。下面我们就来看看mac禁止电脑休眠的技巧。1
【故障现象】:一台微机,换了个CⅡ766CPU,然后工作几十分钟后突然黑屏,重启后工作几十分钟又黑屏。【故障分析与排除】:分析故障是换了CPU后引起的,那就应该
九阳豆浆机插电一直响的原因及解决办法如下: 1、如果十分钟内出现报警,请检查杯体内加水是否在上、下水位线之间。加水温度有没有超过70度。 2、如果十分钟后报
网上购电后十分钟内就会有电。一般十分钟内就可以将金额充值到电表上,之后便可以用电。通过支付宝可以缴纳电费,进入支付宝,点击“生活缴费”,点击“电费”,进入电费界
让outlook2013一起开在系统中的主要的目的是为了有新邮件件时可以通知用户,让用户随时掌握最新信息。系统默认的是每三十分钟检查是否有新信邮。每三十分钟检查