function queryFloorByMansionId(id) {
var floors = new Array();
var num=0;
$.ajax({
url:'../app/mansion/getMansionInfo',
data: {
mansionId:id ,
},
dataType: 'json',
type: 'POST',
success: function(data) {
console.log(data);
if(data && data.flag == 1000) {
for (var i= 0;i<data.data.length;i++){
if(data.data[i].type=='车位'){
floors[num]=data.data[i].name;
num++;
}
}
return floors;
}
}
})
ajax是异步编程模型。举个通俗的例子:
你打电话问书店老板有没有《ajax》这本书,如果是同步通信机制,书店老板会说,您稍等,“我帮您查一下”,然后开始查啊查,等查好了告诉你结果(返回结果),您可能是等待10秒,也可能是10分钟(阻塞的)。而异步通信机制,书店老板直接说:查好了打电话给你,然后直接挂电话了(不返回结果)。等查好了,他会主动打电话给你。在这里老板通过“回电话(异步函数回调)”这种方式来回调。
由于ajax默认是异步请求,因此不会等ajax的success函数返回结果就会一直往下执行。