Não escrevo o código JS há muito tempo e encontrei esse problema. A maioria das formas em nosso sistema não é feita para evitar envios duplicados.
Como você não deseja processá-lo no back-end, se ele for processado pelo back-end, você precisará fornecer um valor de token único quando a página for carregada. Não apenas aumenta a carga de trabalho de desenvolvimento, como também é fácil esquecer de fazer isso. Ao mesmo tempo, o Ajax não é fácil de processar. Se você precisar enviá -lo, retornará um novo valor de token ao mesmo tempo.
Então, eu quero fazer isso no JS. Na verdade, eu mencionei isso no front -end antes, mas não houve movimento por um longo tempo, então tive que pegar um tijolo e jogá -lo fora. A idéia é substituir $ .ajax e resolver o problema de prevenir envios duplicados aqui , enquanto o desenvolvimento de negócios do front-end não será afetado, o código não será alterado e não haverá percepção.
Eu acho que um dos propósitos da arquitetura é simplificar o desenvolvimento de negócios, bloquear detalhes independentes dos negócios e permitir que o desenvolvimento da linha de frente escreva negócios com tranquilidade.
O código é o seguinte:
/*** Criado por Xiayongsheng em 2016/6/12. Os dados devem ser classificados pelos valores -chave e, em seguida, os valores são unidos, e o valor obtido por SHA1 é usado como impressão digital // Use URL como impressão digital primeiro var hash = typeof args [0] === 'String'? Args [0]: args [0] .url; se (tipo de AjAxstate '? {alert ('Por favor, não envie repetidamente, a solicitação está sendo processada');} ++ ajaxState [hash]; retorna $ .Deferred ();} ajaxState [hash] = 1; KinHomajax;}) (jQuery);O exposto acima é o conhecimento relevante sobre como impedir que envios repetidos de solicitações JS Ajax introduzidas a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!