У меня есть следующий код, который я запускаю на каждой странице:
$(document).ready(function () {
$(document).ajaxStart($.blockUI);
$(document).ajaxStop($.unblockUI);
$("form").submit(function() {
if ($(this).valid() == true) {
$.blockUI();
}
});
});
Этот код позволяет мне отображать сообщение "загрузка..." как во время вызовов AJAX, так и во время сообщений формы. В общем, это работает нормально. Однако у меня есть сценарий, в котором мне нужно сделать вызов AJAX для проверки части данных перед созданием сообщения формы следующим образом:
$.ajax({
url: '/Item/VerifyFolder/',
type: 'POST',
dataType: 'json',
data: {
folderName: folderName
},
success: function (data, textStatus, jqXHR) {
$.unblockUI();
if (data.folderItemExists == true)
{
$("form").submit();
}
else
{
if (confirm("The folder specified for this item does not exist. Do you want to create it?") == true)
{
// ...
$("form").submit();
}
else
{
return false;
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
DisplayError(textStatus);
}
});
В моем обратном вызове успеха AJAX я начинаю с вызова $.unblockUI()
. Однако, похоже, это не имеет никакого эффекта. В результате сообщение "загрузка..." по-прежнему отображается при появлении предупреждения.
Я видел различные сообщения в Интернете о проблемах с IE 8 и методе unblockUI (неверный формат HTML, потребность в метатеге и т. д.), но мне еще предстоит найти работающее решение.
Любое руководство будет оценено. Спасибо!