多ajax请求顺序发出

工作中的一个需求,存在多次发出同一个ajax的可能性,因为有网络延迟的存在,如果第二个请求先到达,就会覆盖掉第一个请求,为了保证第一个发出的请求到达时才顺序发出接下来的请求,采用了数组的方法。

需要发出请求时:

ajaxes.push({//请求所需要的参数,放入数组ajaxes中
    id: id,
    unitId:unitId
})
changeContent(ajaxes);//发出ajax的函数

 

发出ajax的函数:

function changeContent(ajaxes) {
    var unitId = ajaxes[0].unitId;
    var id = ajaxes[0].id;
    $.ajax({
            url:'****',
            data:{
                id:id,
                unitId:unitId 
            },
            success:function(){
                ajaxes.shift();
                if( ajaxes.length ){
                       changeContent();//递归,回调自己
                }
            }
    })
}

 

如果大家有什么其他更好的方法欢迎来跟我交流

 

posted on 2018-03-29 11:33  未语-  阅读(406)  评论(0编辑  收藏  举报

导航