|
|
1
144
这里人们通常采用两种方法: 方法1: 使用AJAX+重定向 通过这种方式,您可以使用JQuery或类似于Page2的东西在后台发布表单,而用户仍然可以看到page1显示出来。发布成功后,将浏览器重定向到第2页。 方法2: 发布+重定向到self 这是论坛上常见的技巧。第1页的表单将数据发布到第2页,第2页处理数据并执行需要执行的操作,然后它自己执行HTTP重定向。这样,浏览器记住的最后一个“操作”是一个简单的GET on page2,因此表单不会在F5时重新提交。 |
|
2
23
PRG是一种web开发设计模式,可以防止一些重复的表单提交,也就是说,提交表单(Post Request 1)->重定向->获取(Request 2)
重定向状态代码 -使用HTTP 302的HTTP 1.0或使用HTTP 303的HTTP 1.1 带有重定向状态代码的HTTP响应还将在location header字段中提供URL。用户代理(例如,web浏览器)受此代码的响应的邀请,对“位置”字段中指定的新URL进行第二次(否则相同)请求。 重定向状态代码是为了确保在这种情况下,web用户的浏览器可以安全地刷新服务器响应,而不会导致重新提交初始HTTP POST请求。
|
|
|
3
10
直接说,你不能,这是件好事。浏览器的警报是有原因的。这条线应该回答你的问题: Prevent Back button from showing POST confirmation alert 建议的两个关键解决方案是PRG模式,以及AJAX提交和脚本重新定位。
|
|
|
4
8
要100%确保同一表单不会被提交两次,唯一的方法是在您发出的每个表单中嵌入一个唯一的标识符,并跟踪哪些表单已经在服务器上提交。这里的陷阱是,如果用户备份到表单所在的页面并输入新数据,同一个表单将不起作用。 |
|
|
5
6
你2岁以下什么都不做。将完全防止重复提交。人们可以很快点击,黑客也可以发帖。你总是需要1。如果你想确定没有复制品。 |
|
|
6
2
|
|
|
7
2
我发现没人提起这个把戏。 如果没有重定向,您仍然可以在刷新时阻止表单确认。 默认情况下,表单代码如下:
现在,改成
你会看到魔法的。 我想这是因为如果浏览器在url中获得GET方法(查询字符串),它不会触发确认警报弹出窗口。 |
|
|
8
1
这是防止由于回发而在提交后再次提交数据的最优雅的方法。 希望这有帮助。 |
|
|
9
0
PRG模式只能防止页面刷新导致的重新提交。这不是百分之百的安全措施。 通常,我会采取以下措施防止重新提交:
在大多数情况下,这些措施有助于防止再次提交。 |
|
|
10
0
我真的很喜欢“安吉林的回答”。但是如果你处理的是一些不实用的遗留代码,这种技术可能对你有用。 在文件的顶部
然后在表格的最后,坚持
|
|
|
11
0
试试崔丝:
字体: https://www.tutdepot.com/prevent-multiple-form-submission/ |
|
|
12
0
使用js防止添加数据:
|