防止表格重新提交

防止表格重新提交

第一页包含一个HTML表单。第二页-处理提交的数据的代码。

第一页中的表单将被提交。浏览器被重定向到第二页。第二页处理提交的数据。

此时,如果刷新第二页,将弹出“确认表单重新提交”警报。

这能防止吗?


12345678_0001
浏览 518回答 3
3回答

撒科打诨

这里有两种人们常采用的方法:方法1:使用Ajax+重定向通过这种方式,您可以使用JQuery或类似于第2页的内容在后台发布表单,而用户仍然可以看到显示的页面1。成功发布后,将浏览器重定向到第2页。方法2:后+重定向到自我这是论坛上常见的技巧。第1页上的表单将数据发布到第2页,第2页处理数据并执行需要完成的操作,然后对自己执行HTTP重定向。这样浏览器记住的最后一个“动作”就是简单的页面2,所以表单不会在F5上重新提交。

慕容3067478

看见这,这个)PRG是一种Web开发设计模式,它防止一些重复的表单提交,这意味着提交表单(POST Request 1)->Redirective->GET(Request 2)Under the hood重定向状态码-HTTP1.0与HTTP 302或HTTP1.1与HTTP 303带有重定向状态代码的HTTP响应还将在LocationHeader字段中提供一个URL。用户代理(例如,Web浏览器)被使用此代码的响应所邀请,以便对位置字段中指定的新URL发出第二个请求,否则是相同的请求。重定向状态代码是为了确保在这种情况下,Web用户的浏览器可以安全地刷新服务器响应,而不会导致重新提交初始的HTTPPOST请求。Double Submit ProblemPost/Redirect/Get Solution来源

白衣染霜花

直接说,你做不到,这是件好事。浏览器的警报存在是有原因的。这个帖子应该回答你的问题:防止后退按钮显示后确认警报提出的两个关键解决方案是PRG模式和Ajax提交,然后是脚本重新定位。请注意,如果您的方法允许GET而不是POST提交方法,那么这将解决问题并更符合约定。这些解决方案是在您希望/需要发布数据的前提下提供的。
打开App,查看更多内容
随时随地看视频慕课网APP