十分钟内学会 避免用户刷新导致重复POST提交

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

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

这样做的话,用户刷新结果页,或者通过历史记录回到该页面,都不会导致浏览器要重新进行POST,自然也就不会出现烦人的是否重做对话框了。而对于你来说,也有效避免了用户重复提交信息的可能性。

相关文章

  • git stash(储藏)的用法总结

    git stash(储藏)的用法总结

    本文详细讲解了git stash(储藏)的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 加速 PyTorch 模型训练的 9 个技巧(收藏)

    加速 PyTorch 模型训练的 9 个技巧(收藏)

    本指南从最简单的结构到最复杂的改动都有,可以使你的网络得到最大的好处。我会给你展示示例Pytorch代码以及可以在Pytorch- lightning Trainer中使用的相关flags,这样你可以不用自己编写这些代码,感兴趣的朋友一起看看吧
    2022-03-03
  • Git远程删除某个历史提交记录方法详解

    Git远程删除某个历史提交记录方法详解

    这篇文章主要为大家介绍了Git远程删除某个历史提交记录方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Git的简单理解及基础操作命令详解

    Git的简单理解及基础操作命令详解

    Git是一款免费、开源的、用Linux内核开发的分布式版本控制系统。下面通过本文给大家分享Git的简单理解及基础操作命令,需要的朋友参考下吧
    2017-10-10
  • vscode怎么编译运行

    vscode怎么编译运行

    本文给大家分享的是vscode怎么一键编译运行的方法,非常的简单实用,有需要的小伙伴可以参考下
    2020-02-02
  • 手机中点击网页链接实现拨号或保存电话功能实现代码

    手机中点击网页链接实现拨号或保存电话功能实现代码

    这篇文章主要介绍了手机中点击网页链接实现拨号或保存电话功能实现代码,需要的朋友可以参考下
    2015-04-04
  • vscode 一键规范代码格式的实现

    vscode 一键规范代码格式的实现

    这篇文章主要介绍了vscode 一键规范代码格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 详解git merge 与 git rebase的区别

    详解git merge 与 git rebase的区别

    这篇文章主要介绍了详解git merge 与 git rebase的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 详解使用Postman模拟浏览器的HTTP请求并获取返回数据

    详解使用Postman模拟浏览器的HTTP请求并获取返回数据

    这篇文章主要为大家介绍了在浏览器中,获取网页中的某一个请求信息,并将其导入到Postman软件,并进行API请求测试的方法,需要的可以参考下
    2024-03-03
  • git stash使用场景及常见方法详解

    git stash使用场景及常见方法详解

    这篇文章主要为大家介绍了git stash使用场景及常见方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论