我在每个页面上都运行以下代码:
$(document).ready(function () {
$(document).ajaxStart($.blockUI);
$(document).ajaxStop($.unblockUI);
$("form").submit(function() {
if ($(this).valid() == true) {
$.blockUI();
}
});
});
此代码允许我在AJAX调用和表单帖子中显示“loading ...”消息。总的来说,这很好。但是,我有一个场景,我需要在进行表单发布之前进行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()
。但是,它似乎没有任何效果。因此,当警报弹出时,仍会显示“loading ...”消息。
我在网上看过各种关于IE 8和unblockUI方法的问题的帖子(错误的HTML,需要元标记等),但我还没有找到有效的解决方案。
任何指导都将不胜感激。谢谢!
答案 0 :(得分:1)
这在AJAX成功回调中对我有用:
$.unblockUI();
$(".blockUI").fadeOut("slow");