我有一个虚拟HTML表单。
<form action="/to/my/url" method="POST">
<input type="submit" value="My submit button">
</form>
当用户点击提交时,浏览器会使用动词POST在/ to / my / url上进行新的HTTP调用。
使用Firefox,如果点击刷新或按Ctrl + R,浏览器会要求我确认操作,完全没问题。这是防止双重提交的预期行为。我知道POST-redirect-get模式并且我使用它,这不是问题所在。
使用Chromium,我有时会有这种行为,但大多数时候,我没有,我不明白为什么。我尝试过很多东西,比如使用
<button type=submit>
或添加隐藏的字段,设置ID和名称等,但我不明白为什么我仍然可以按Ctrl + R和Chromium继续发送POST而不告诉我这是双重提交。我有一次消息,但我无法重现。
Chromium如何决定是否必须提示用户提交双重提交?我的表单必须如何设计才能使Chromium正常工作,就像Firefox一样?