我在每个页面上运行以下代码:
$(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 格式错误、需要元标记等),但我还没有找到有效的解决方案。
任何指导将不胜感激。谢谢!
最佳答案
这在 AJAX 成功回调中对我有用:
$.unblockUI();
$(".blockUI").fadeOut("slow");
关于jquery - 在ajax成功回调中调用unblockUI不起作用(IE 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270372/