2014-09-15 3 views
0

У меня есть этот Javascript код:bootbox Подтверждать АЯКС вызова

this.confirmBox = function(event, data) { 
    return bootbox.confirm("Are you sure?", function(result) { 
    alert(result); // this returns TRUE as it is supposed to 
    }); 
}; 

this.beforeSend = function(event, jqXHR) { 
    if (this.confirmBox()) { 
    // HERE THE AJAX QUERY GETS EXECUTED 
    } else { 
    return jqXHR.abort(); // HERE WE ABORT IT 
    } 
}; 

Моя проблема заключается в том, что Ajax запрос запускается на выполнение, прежде чем я подтвердить в bootbox всплывающем окне. Как мне изменить строку (this.confirmBox()), чтобы функция beforeSend проверяла, возвращает ли функция confirmBox значение true?

ответ

0

Вам нужно поставить this.beforeSend внутри функции (результата) .... из поля подтверждения

+0

Не работает. Вызов ajax по-прежнему выполняется, как только загрузочный бокс загружает async. – domi771

+0

Пожалуйста, измените исходный вопрос с помощью нового кода, чтобы я мог видеть, что вы написали и что не работает. – Scription

+0

Проблема в том, что даже когда я полностью удаляю функцию beforeSend, выполняется запрос ajax. В исходном скрипте используется natve confirm popop, который предотвращает выполнение ajax до подтверждения. С любым из плагинов, которые я пробовал сейчас (bootbox, jconfirm & jquery.msg), я не могу добиться того же результата. – domi771

Смежные вопросы