防止重复ajax

1.UI限制

点击按钮发送Ajax后,禁用按钮,并开启等待动画,等收到服务器的响应后,再隐藏动画

2.函数防抖

用户多次点击按钮,可以通过函数防抖来阻止,原理就是闭包里的setTimeout和clearTimeout,连续的点击再时间内把上一次的处理函数清理,ajax请求在最后一次点击后发出

// 函数防抖
var timer = false;
document.getElementById("button").onclick = function(){
    clearTimeout(timer); // 清除未执行的代码,重置回初始化状态
    timer = setTimeout(function(){
        console.log("函数防抖");
    }, 300);
};  

你可能感兴趣的:(javascript)