亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止表格重新提交

防止表格重新提交

防止表格重新提交第一頁包含一個HTML表單。第二頁-處理提交的數據的代碼。第一頁中的表單將被提交。瀏覽器被重定向到第二頁。第二頁處理提交的數據。此時,如果刷新第二頁,將彈出“確認表單重新提交”警報。這能防止嗎?
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

這里有兩種人們常采用的方法:

方法1:使用Ajax+重定向

通過這種方式,您可以使用JQuery或類似于第2頁的內容在后臺發布表單,而用戶仍然可以看到顯示的頁面1。成功發布后,將瀏覽器重定向到第2頁。

方法2:后+重定向到自我

這是論壇上常見的技巧。第1頁上的表單將數據發布到第2頁,第2頁處理數據并執行需要完成的操作,然后對自己執行HTTP重定向。這樣瀏覽器記住的最后一個“動作”就是簡單的頁面2,所以表單不會在F5上重新提交。


查看完整回答
反對 回復 2019-07-03
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

看見這,這個)

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 Problem


Post/Redirect/Get Solution


來源


查看完整回答
反對 回復 2019-07-03
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

直接說,你做不到,這是件好事。瀏覽器的警報存在是有原因的。這個帖子應該回答你的問題:

防止后退按鈕顯示后確認警報

提出的兩個關鍵解決方案是PRG模式和Ajax提交,然后是腳本重新定位。

請注意,如果您的方法允許GET而不是POST提交方法,那么這將解決問題并更符合約定。這些解決方案是在您希望/需要發布數據的前提下提供的。


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 624 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號