У меня есть следующий код, который отправляет форму со страницы jsp.
Вызов mywebpage.jsp
возвращает ответ SOAP со всеми параметрами, которые используются в оповещениях.
Я знаю, что код выполняется правильно, потому что я вижу вывод console.log()
. bootbox.alerts
не всплывает. Я пытался использовать callback()
на bootbox.alerts
и bootbox.confirm
и менять их на нормальные window.alert
. Я все еще получаю те же результаты.
$('form.myForm').submit(function (event) {
var url = "mywebpage.jsp";
var data = { param1: "value1", param2: "value2", param3: "value3"};
$.post(url, data)
.done(function(data) {
console.log(data);
var IErrCode = $(data).find("IErrCode").text();
if (IErrCode==0)
{
console.log("Validate Sign IErrCode==0");
bootbox.alert('Saved.<br>' + $(data).find("SOutMsg").text());
} else {
console.log("Validate Sign IErrCode!=0");
bootbox.alert($(data).find("SErrDesc").text() + $(data).find("IErrCode").text());
}
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown +"(" + textStatus + ")");
bootbox.alert( errorThrown +"(" + textStatus + ")");
});
return true;
});
Есть ли способ, которым я могу реализовать это так, чтобы пользователь мог видеть всплывающие окна?
ОБНОВЛЕНИЕ
Я изменил $.post(url,data)
на:
$.ajax({
type: 'POST',
url: url,
data: data,
async:false
})
Я понимаю, что это плохая практика, но это единственный способ заставить его работать. Теперь я вижу Bootbox.alerts
, но они закрываются слишком быстро, чтобы прочитать их. Я попытался изменить их на Bootbox.confirms
, но они все еще закрываются слишком быстро.
Есть ли другой способ заставить их оставаться открытыми, пока пользователь их не примет?