首先,頁面第一次加載,在未進行任何操作,表單沒有提交過的前提下,此時點擊F5刷新,是沒有任何問題的。
F5刷新引起表單重復提交
前提條件:
用戶已通過
(1)submit按鈕
(2)js的form.submit()方式提交過表單。
(3)其他方式,我不了解,希望有大神知道可以告知
提交了一次表單。
根據提交表單的方式,查看提交表單后分兩種情況,
get:在地址欄,可看到頁面地址欄變化:
?后面是表單提交時傳遞的參數。毫無疑問,F5刷新時是會把這些參數重新提交的。
post:chrome下打開開發者工具,可看到表單提交的數據
可見,F5刷新時,也是會造成把數據重新提交的。
至於只有post提交方式時,瀏覽器才會提示
是因為“標准約定”post會改變服務端數據,而get方式不會。實際上不管是get還是post,服務端接收參數后如何去操作服務端數據,那是服務端的問題,與客戶端無關。