Javascript 如何检查嵌套的$.getJSON请求何时已完成运行?
可能重复:Javascript 如何检查嵌套的$.getJSON请求何时已完成运行?,javascript,jquery,Javascript,Jquery,可能重复: 下面的函数在文档就绪时运行所有这些代码,但我正在尝试在这些代码中的所有数据完成后运行其他函数 function loadZonesDistrictsStoresData(){ $.getJSON('/CampaignMgmt/GetZonesByClient', { 'clientid': clientid }, function (zones){ $.each(zones, function(index, zoneid){
下面的函数在文档就绪时运行所有这些代码,但我正在尝试在这些代码中的所有数据完成后运行其他函数
function loadZonesDistrictsStoresData(){
$.getJSON('/CampaignMgmt/GetZonesByClient', { 'clientid': clientid }, function (zones){
$.each(zones, function(index, zoneid){
var li_tag = '<li id="'+ zoneid +'"> <label><input id="'+zoneid+'" data-id="'+zoneid+'" onchange="zones.selectZone(this.value)" type="checkbox" name="zone_'+zoneid+'" value="'+ zoneid +'"><span>' + zoneid +'</span> </label></li>';
$("ul.zones").append(li_tag);
$.getJSON('/CampaignMgmt/GetDistrictsByZone', {'clientid': clientid, 'zone': zoneid }, function(data){
zone_object[zoneid] = data;
$.each(data, function(index, districtid){
$.getJSON('/CampaignMgmt/GetStoresByDistrict', {'clientid': clientid, 'district': districtid }, function(stores){
districts_object[districtid] = stores;
});
});
});
});
});
}
函数加载区DistrictionsStoresData(){
$.getJSON(“/CampaignMgmt/GetZonesByClient”,{'clientid':clientid},函数(区域){
$。每个(分区、功能(索引、分区ID){
var li_tag='“+zoneid+' ”;
$(“ul.zones”)。附加(li_标签);
$.getJSON(“/ActivityMgmt/GetDistrictsByZone”,{'clientid':clientid,'zone':zoneid},函数(数据){
分区对象[zoneid]=数据;
$.each(数据、函数(索引、分区ID){
$.getJSON(“/ActivityMgmt/GetStoresByDistrict”,{'clientid':clientid,'district':districtid},函数(存储){
districts\u对象[districtid]=门店;
});
});
});
});
});
}
和的可能重复。可能使用.done
,这是很多ajax。有没有办法在后端合并调用?如果没有,则.done
很可能会满足您的需要。您可以使用@diEcho提到的延迟对象,或者使用jQuery.queue()和jQuery.dequeue()自定义队列