工作中的一个需求,存在多次发出同一个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();//递归,回调自己 } } }) }
如果大家有什么其他更好的方法欢迎来跟我交流