У меня есть три вызова ajax, которые дают мне данные, которые я вдавливаю в массив.jQuery done() три уровня вниз
Второй вызван после первого (в его функции успеха), чтобы массив не заполнился асинхронным.
Моя цель - иметь какой-то звонок в самом конце (отмечен «END !!» в моем коде) с помощью функции jQuery done() (или аналогичной). Однако функция jQuery done() запускается после того, как первый уровень уже достиг своей успешной функции.
var ajaxQuery = $.ormon('ajax', {
url: '../getjson',
trtyp: 'adm1034',
dataType: 'json',
data: {
clients:1
},
success: function(data) {
console.log("1");
for (i = 0; i < data.length; i++) {
var name = data[i].adr1 + " " + data[i].adr2;
kontaktdata.push({name: name, usrid: data[i].usr});
}
$.ormon('ajax', {
url: '../getjson',
trtyp: 'adm1034',
dataType: 'json',
data: {
clients:2
},
success: function(data) {
console.log("2");
for (i = 0; i < data.length; i++) {
var name = "(CRM Lead) - " + data[i].adr1 + " " + data[i].adr2;
kontaktdata.push({name: name, usrid: data[i].usr});
}
$.ormon('ajax', {
url: '../getjson',
trtyp: 'adm1034',
dataType: 'json',
data: {
clients:3
},
success: function(data) {
console.log("3");
for(i = 0; i < data.length; i++) {
var name = "(MXVV Kunden) - " + data[i].adr1 + " " + data[i].adr2;
kontaktdata.push({name: name, usrid: data[i].usr});
}
//END!!!!!!!!
console.log(kontaktdata);
}
});
}
});
}
});
ajaxQuery.done(function(response) {alert("done");});
Не могли бы вы параллельно использовать три вызова ajax? – Bergi
Я не могу, потому что каждый ajax возвращает набор данных. Затем я заполняю это в массив, если я запустил их paralell, массив будет содержать данные из dataset1, а затем dataset2, а затем снова dataset1 (смешение) – DavidDunham
Не обязательно, нет, вы можете запускать их параллельно, а затем объединять все три набора данных в ожидаемом порядке. – Bergi