首先提出一个问题:点击页面上一个按钮发送两个ajax请求,其中一个请求会不会等待另一个请求执行完毕之后再执行?
答案是:不会,这两个异步请求会同时发送,至于执行的快与慢,要看响应的数据量的大小及后台逻辑的复杂程度。
从异步请求的执行原理来看,我们知道当一个异步请求发送时,浏览器不会处于锁死、等待的状态,从一个异步请求发送到获取响应结果的期间,浏览器还可以进行其它的操作。这就意味着多个异步请求的执行时并行的。
下面我们还是从一个例子来看一下这个问题。
要求:ajax1从后台请求下拉列表的数据,ajax2从后台请求下拉列表要选中的某一项的数据。
js代码:
functionsentAjax(){
Ajax1();
Ajax2();
}functionAjax1(){
$.ajax({
cache :false,
url:"/manager/test/ajax1",
success:function(result){
alert("Ajax1");
$("#selectClassify").html("");var html = "";var selectJson =result.downList;
$.each(selectJson,function(i, item) {
html= html+"" + item + "";
});
$(