佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 幾種防止表單重復提交的方法

幾種防止表單重復提交的方法

熱門標簽:團購網站 服務器配置 科大訊飛語音識別系統(tǒng) 電子圍欄 Linux服務器 銀行業(yè)務 Mysql連接數設置 阿里云
表單重復提交是在多用戶Web應用中最常見、帶來很多麻煩的一個問題。有很多的應用場景都會遇到重復提交問題,比如:

點擊提交按鈕兩次。
點擊刷新按鈕。
使用瀏覽器后退按鈕重復之前的操作,導致重復提交表單。
使用瀏覽器歷史記錄重復提交表單。
瀏覽器重復的HTTP請求。

 

幾種防止表單重復提交的方法

禁掉提交按鈕。表單提交后使用Javascript使提交按鈕disable。這種方法防止心急的用戶多次點擊按鈕。但有個問題,如果客戶端把Javascript給禁止掉,這種方法就無效了。

我之前的文章曾說過用一些Jquery插件效果不錯。

Post/Redirect/Get模式。在提交后執(zhí)行頁面重定向,這就是所謂的Post-Redirect-Get (PRG)模式。簡言之,當用戶提交了表單后,你去執(zhí)行一個客戶端的重定向,轉到提交成功信息頁面。

這能避免用戶按F5導致的重復提交,而其也不會出現瀏覽器表單重復提交的警告,也能消除按瀏覽器前進和后退按導致的同樣問題。

在session中存放一個特殊標志。當表單頁面被請求時,生成一個特殊的字符標志串,存在session中,同時放在表單的隱藏域里。接受處理表單數據時,檢查標識字串是否存在,并立即從session中刪除它,然后正常處理數據。

如果發(fā)現表單提交里沒有有效的標志串,這說明表單已經被提交過了,忽略這次提交。

這使你的web應用有了更高級的XSRF保護。

在數據庫里添加約束。在數據庫里添加唯一約束或創(chuàng)建唯一索引,防止出現重復數據。這是最有效的防止重復提交數據的方法。
您可能感興趣的文章:
  • php中如何防止表單的重復提交
  • ThinkPHP 防止表單重復提交的方法
  • js防止表單重復提交的兩種方法
  • js防止表單重復提交實現代碼
  • Jquery Validation插件防止重復提交表單的解決方法
  • jquery 防止表單重復提交代碼
  • asp.net 防止用戶通過后退按鈕重復提交表單
  • jquery提交form表單時禁止重復提交的方法
  • 常見表單重復提交問題整理及解決方法
  • PHP防止表單重復提交的幾種常用方法匯總

標簽:蚌埠 廣元 棗莊 萍鄉(xiāng) 衢州 大理 衡水 江蘇

巨人網絡通訊聲明:本文標題《幾種防止表單重復提交的方法》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    贺州市| 六安市| 洪洞县| 巴林左旗| 台东县| 昌都县| 靖安县| 水富县| 奉节县| 普宁市| 乌拉特中旗| 潮州市| 龙泉市| 镇原县| 广灵县| 罗源县| 周口市| 阿图什市| 中牟县| 肥东县| 晴隆县| 容城县| 吉林省| 房山区| 若羌县| 汉沽区| 山西省| 教育| 山丹县| 德令哈市| 探索| 汉阴县| 长宁县| 九台市| 宜宾县| 东宁县| 探索| 锡林浩特市| 浦北县| 吴桥县| 泰顺县|