国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS Ajax請求如何防止重復提交

2019-11-20 09:43:20
字體:
來源:轉載
供稿:網友

好長時間沒寫js代碼了剛好遇到這樣的問題。我們系統多數表單沒有做防止重復提交的。

由于不想在后端這邊處理,因為假如由后端處理的話,就需要在頁面加載的時候給出一次性的token值,加大了開發的工作量不說,還容易忘記做這個,同時,ajax也不好處理,需要提交失敗的話同時返回新的token值。

所以我想在,js這邊動手。其實以前和前端提過,久久不見動靜,就只好弄塊磚丟出去了。思路是,覆蓋掉$.ajax,在這里面處理掉防止重復提交的問題,而前端的業務開發不受影響,不改代碼,無感知。

我想架構的目的之一,就在于簡化業務開發,屏蔽掉業務無關的細節,讓一線開發安心寫業務吧。

代碼如下:

/*** Created by xiayongsheng on 2016/6/12.*/;(function($){var ajax = $.ajax;// 用于存儲ajax的請求var ajaxState = {};var kinhomAjax = function () {var args = Array.prototype.slice.call(arguments, 0);// url data 一致,// 應該將 url取出,data按鍵值排序,后將值拼接在一起,進行sha1得到的值作為指紋// 累先用 url作為指紋吧var hash = typeof args[0] === 'string'?args[0]:args[0].url;if (typeof ajaxState[hash] !== 'undefined') {if (ajaxState[hash] > 3) {alert('請不要重復提交,請求正在處理中');}++ajaxState[hash];return $.Deferred();}ajaxState[hash] = 1;var def = ajax.apply($,args);def.done(function () {delete ajaxState[hash];});return def;};$.ajax = kinhomAjax;})(jQuery);

以上所述是小編給大家介紹的JS Ajax請求如何防止重復提交的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇原县| 宁南县| 饶平县| 谢通门县| 类乌齐县| 吐鲁番市| 微山县| 抚宁县| 于田县| 丹阳市| 饶阳县| 栖霞市| 大宁县| 新巴尔虎右旗| 自治县| 交城县| 延津县| 苏州市| 剑川县| 札达县| 高邮市| 青岛市| 密山市| 云梦县| 额济纳旗| 尼玛县| 奇台县| 泽普县| 盱眙县| 呈贡县| 承德县| 达拉特旗| 潍坊市| 临沂市| 翁源县| 鄂温| 丰顺县| 铁力市| 崇义县| 高淳县| 阳春市|