Я давно не писал код JS и просто столкнулся с такой проблемой. Большинство форм в нашей системе не сделаны для предотвращения дублирующихся представлений.
Поскольку вы не хотите обрабатывать его на бэкэнд, если он обрабатывается бэкэнд, вам необходимо дать одноразовое значение токена при загрузке страницы. Это не только увеличивает рабочую нагрузку в разработку, но и легко забыть это сделать. В то же время Ajax нелегко обрабатывать. Если вам нужно отправить его, вы вернете новое значение токена одновременно.
Поэтому я хочу сделать это на JS. На самом деле, я упоминал об этом передней части раньше, но в течение долгого времени не было движения, поэтому мне пришлось взять кирпич и выбрасывать его. Идея состоит в том, чтобы перезаписать $ .ajax и решить проблему предотвращения дублирующихся представлений здесь , в то время как развитие бизнеса не будет затронута, код не будет изменен, и восприятие не будет.
Я думаю, что одной из целей архитектуры является упрощение развития бизнеса, блокировку независимых от бизнеса деталей и позволить фронтальному развитию писать бизнес с душевным спокойствием.
Код заключается в следующем:
/*** Создан Xiayongsheng на 2016/6/12.*/; (Function ($) {var ajax = $ .ajax; // запросы, используемые для хранения ajax var ajaxstate = {}; var kinhomajax = function () {var args = array.prototype.slice.call (argirments, 0);//urs = array.prototype.slice.call (аргументы, 0); Вне, данные должны быть сортированы по значениям ключей, а затем значения сплачиваются вместе, а значение, полученное SHA1, используется в качестве отпечатков пальцев // Использовать URL в качестве отпечатка пальца первого var hash = typeof args [0] === 'string'? Args [0]: args [0] .url; if (typeof ajaxstate [hash]! {alert («Пожалуйста, не отправляйте неоднократно, запрос обрабатывается ');} ++ ajaxstate [hash]; return $ .deferred ();} ajaxstate [hash] = 1; var def = ajax.apply ($, args); def.done (function () {delete ajaxstate [hash]; kinhomajax;}) (jQuery);Выше приведено соответствующие знания о том, как предотвратить повторные представления от запросов JS Ajax, представленных вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!