zoukankan      html  css  js  c++  java
  • 阻止重复提交

    问题描述:给一个按钮绑定点击事件,发ajax请求,向服务器提交数据和从服务器获取数据。用户在较短时间内多次点击按钮,请求混乱,服务器来不及处理。
    预期结果:我们希望第1次请求结束后,才可以发第2次请求。
    解决方案
    1、利用jQuery中的ajax方法

    beforeSend: function() {
      $('#submit_btn').off('click');
    },
    complete: function() {
      $('#submit_btn').on('click');
    }

    2、设置一个提交标志

    //初始状态,可以提交;
    var flagSubmit = true;
    
    //提交期间,如果flagSubmit为false,就禁止提交;
    if(!flagSubmit) return false;
    //提交期间,锁住flagSubmit;
    flagSubmit = false;
    
    //提交成功后,释放flagSubmit。
    flagSubmit = true;

    3、借助高阶函数debounce去抖
    核心思想是,设置定时器,延迟期间,锁定提交行为;延迟结束后,可以继续点击提交。

  • 相关阅读:
    并查集
    关于一些位运算的小记
    用ST解决RMQ问题
    寒假作业_4
    H
    卢卡斯 组合数
    并查集
    G
    F
    E
  • 原文地址:https://www.cnblogs.com/camille666/p/js_jquery_prevent_click_more_time.html
Copyright © 2011-2022 走看看