JS--阻止ajax因数据重复多次提交的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Manarola/article/details/51927455

1.需求:应用ajax技术异步提交数据

2.问题:多次点击元素由于服务器返还数据延迟问题,造成多次数据请求。

3.解决方法:

1.用变量标识符 (定时器模拟延迟返还数据)

  var clickState = 0;//初始化点击状态
    $(function(){
        $('.button').click(function(){
            if( clickState == 1){
                //如果状态为1就什么都不做
            }else{
                clickState = 1;  //如果状态不是1  则添加状态 1
                setTimeout(addAjax,2000);
            }
        });
    });
    function addAjax(){
        $.ajax({
            success:function(){
                    $('.wrap').append('<div>添加</div>') ;
                    clickState = 0;
            }
        });
    }

2.添加html内容作为标示

$(function(){
        $('.button').click(function(){
            if(!!$('.hidden')[0]){

            }else{
                $('body').append('<input type="hidden" class="hidden">'); //向html中添加 input.hidden 元素作为标识符
                setTimeout(addAjax,2000);
            }
        });
    });
    function addAjax(){
        $.ajax({
            success:function(){
                                                        $('.wrap').append('<div>添加</div>') ;
                    $('.hidden').remove();// 返回数据后 移除该元素
            }
        });
    }
展开阅读全文

没有更多推荐了,返回首页