Я хочу выполнить вызов ajax и предотвратить код после его завершения до тех пор, пока не завершится вызов ajax.Запретить запуск кода до тех пор, пока не завершится ajax
Скажем, у меня есть этот код
.on('pageloadfailed', function(event){
//if I move event.preventDefault to here the popup doesn't show. But I only want
//to prevent the default bahaviour if the condition in the ajaxe response if met.
$.when(ajax1()).done(function(response){
if(resposne.success == true){
event.preventDefault();
}
});
function ajax1() {
return $.ajax({
url: "someUrl",
dataType: "json",
data: yourJsonData,
...
});
}
alert("test");
}
Оповещение будет срабатывать всегда, я только хочу, чтобы стрелять, если код внутри «когда» метод не возвращает ложь.
Спасибо за ответы, я пойду в дело немного дальше.
Я использую jquery mobile. И когда ошибка загрузки страницы jqm отображает всплывающее окно, в котором пользователь обновляет. Однако в некоторых случаях я не хочу, чтобы это произошло, я действительно хочу сам обработать ошибку.
Так что, когда событие pageloadfailed уволено, я не должен был что-то проверять с помощью ajax. В некоторых случаях я буду справляться с тем, что происходит, но в других, которые я просто хочу продолжить.
Предупреждение на самом деле не существует в моем коде, который я просто пытался использовать для иллюстрации этой точки.
Вы нашли адекватный ответ на свой вопрос? Если это так, отметьте его как принятый ответ – enyce12