加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

规避用户刷新导致重复POST提交

发布时间:2023-04-20 12:43:01 所属栏目:经验 来源:
导读: 在Web应用中,采用POST提交信息是很常见的,然而如果目标页面打开得太慢,用户就可能会刷新网页,这时候之前已经提交过的信息就会被反复提交。即使用户成功打开了POST提交目标页,之后他通过链接导航到别处,再退回
 在Web应用中,采用POST提交信息是很常见的,然而如果目标页面打开得太慢,用户就可能会刷新网页,这时候之前已经提交过的信息就会被反复提交。即使用户成功打开了POST提交目标页,之后他通过链接导航到别处,再退回到POST提交目标页时仍可能会重复提交页面(例如因为浏览器缓存已失效)。而且,只要碰到重复POST提交的场景,浏览器就会问用户是否确认重做此操作,用户并不一定能正确理解重做意味着重做什么,浏览器又不允许网站向用户解释清楚,所以这属于非常不友善的设计。那么我们应该如何避免用户刷新带来的重复提交呢?

有一种最简单的模式能够解决这个问题,叫做PRG,也就是Post-Redirect-Get。在用户提交信息后,我们不要在POST提交的目标URL返回结果页面,而返回服务器一个302将浏览器重定向到真正的结果显示页,然后另外一个浏览器通过不可用GET命令去获取那个不可用的页面。

这样做的话,用户刷新结果页,或者通过历史记录回到该页面,都不会导致浏览器要重新进行POST,自然也就不会出现烦人的是否重做对话框了。而对于你来说,也有效避免了用户重复提交信息的可能性。这样一来,你的网站就可以轻松实现快速访问,而不必担心因为网站内容过多而导致访问速度变慢。

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!