一个页面循环发送ajax请求(就算只有一个ajax请求),同一浏览器再访问该域名的其他内容居然就被锁住了,需要等前面的ajax请求全部发送完毕才能刷新出来。前面这些我都是在chrome里面。
var id = '{$id}';
var idArr = id.split(',');
var url = '{:U('CollectArticle/Collect/index')}';
function doCollect(){
while(idArr.length){
var webid = parseInt(idArr.pop());
$("span[webid="+ webid +"]").html('正在执行');
$.ajax({
type:'POST',
url:url,
data:{id:webid},
//async: false,
dataType:'json'
}).always(function(data) {
$("span[webid="+data.info+"]").html('执行完毕');
});
}
}
doCollect();
而被请求的地址什么都没做,仅仅是sleep(3)。
我再在chrome里发送请求,然后在firefox里面打开,则不会出现等待的情况。
我把代码单独拿出测试却没有出现那样的情况。