个人笔记,关于ajax 如果没有请求成功不允许再次请求的方法。

其实这个问题很简单,考的是初学者的信号量问题。

var flag=false,count=0;
            $("#btn").on("click",function(){
                if (flag)return;
                flag = true
                count++;
                console.log(count)
                setTimeout(()=>{
                    $.ajax({
                    type:"get",
                    url:"https://m.gztaoyou.com/caseapi.html",
                    async:true,
                    success:function(e){
                       flag=false;
                       console.log(e); //打印的这么?
                       
                    },
                    error:function(){
                        
                    }
                });
                },0)
                
            });
            console.log(flag)

原理为定一个信号量,允许初次能进来,然后第一次进来之后改变信号量,如在ajax回调里面没有成功侧不会让其变成可点击,直接return掉。(定时器可忽略)

原文地址:https://www.cnblogs.com/xiaobaicai123/p/10570382.html