a.html有三个ajax方法(ajax1,ajax2,ajax3),先后访问a.php,如果ajax1访问a.php程序sleep(15)。请问这样会不会阻塞ajax2,ajax3的访问呢,原因是什么?a.html代码如下:vara=1;varb=1;varc=1;functionajax1(){$.get('a.php?from=a',function(){$('#ajax1').text(a);a++;ajax1();});}functionajax2(){$.get('a.php?from=b',function(){$('#ajax2').text(b);b++;ajax2();});}functionajax3(){$.get('a.php?from=c',function(){$('#ajax3').text(c);c++;ajax3();});}functionbeginAjax(){ajax1();ajax2();ajax3();}a.php代码如下:
2 回答

交互式爱情
TA贡献1712条经验 获得超3个赞
你模拟不就知道了,js直接发三个ajax请求过去顺序是ajax1,ajax2,ajax3分别带参数sleepTime1=10,sleepTime2=5,sleepTime3=2,然后你打开调试network,你看三个ajax哪个先response。

阿晨1998
TA贡献2037条经验 获得超6个赞
不一定阻塞.要看具体情况.比如你使用nginx+php-fpm的架构.你每次的http请求由NGINX转发到php-fpm.php-fpm同一时间是只能处理一个请求的.如果你的PHP-FPM进程数大于2就不会阻塞.否则就会没有PHP-FPM进程处理请求而超时.不过这个超时是网络请求层面的.和程序阻塞概念不一样.
添加回答
举报
0/150
提交
取消