Мне нужно выполнить функцию ajax, деталь здесь заключается в том, что я хочу выполнить эту функцию до тех пор, пока другая функция ajax не вернет успех.Выполнение функции ajax до получения успеха другого вызова ajax
Это функция, которая будет я должен ждать, чтобы вернуть успех (try..catch
блок)
Ajaxfunction1
$.ajax({
type : "GET",
url :url,
data : parameters,
success : function(msg) {
try {
var jsonObject = JSON.parse(msg);
console.debug(msg);
//SendToDMS(msg);
} catch (e) {
$("#SaveConfig").removeAttr("disabled");
toastr.error(msg + '.', "Message");
}
},
failure : function(msg) {
$("#SaveConfig").removeAttr("disabled");
toastr.error('Error: ' + msg + '.', "Message");
}
});
Я хочу что-то вроде этого:
while (Ajaxfunction1 != success) { // while the previous ajax function not return success execute this another ajax function
$.ajax({
type : "GET",
url :url,
data : parameters,
success : function(msg) {
// something on success
},
failure : function(msg) {
// something when comes an error
}
});
}
Как может Я это делаю? Спасибо за вашу помощь
сделать его функцию и вызвать функцию от успеха первого вызова Ajax, использовать отложенные объекты с $ .when, используйте функцию SetTimeout для проверки флага, который установлен в успехе первой функции , Любой из этих 3 жизнеспособных, некоторые из них «чище», чем другие. – Ohgodwhy
Что значит «пока функция ajax возвращает успех», вы выполняете его только один раз, либо он терпит неудачу, либо преуспевает? – adeneo
Мне нужно выполнить второй вызов ajax несколько раз, пока первый не получит событие успеха, поэтому я помещаю блок while – martinezjc