当发出 ajax 请求时,我将“Loading”类附加到正文,这样我就可以显示进度动画... 由于某种原因,函数 ae 从未调用过,并且我没有看到任何警报...
function setLoadingPanel()
{
var timer;
var body = $("body");
alert("Set AJAX HOOKS...");
$("body").on({
ajaxStart: function ()
{
alert("AJAX START");
//timer = setTimeout(function () { body.addClass("loading"); }, 50)
},
ajaxStop: function ()
{
alert("AJAX STOP!!!");
//$(this).removeClass("loading");
//clearTimeout(timer);
}
});
}
我已放置警报来尝试查看是否调用了 Hook ,但由于某种原因没有弹出警报。
这是我使用简单的 AJAX.ActionLink 帮助器的 ajax 请求:
@{
var ajaxDialogoptions = new AjaxOptions()
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "DialogContainer",
OnComplete = "OpenDialog('DialogContainer');"
};
}
@Ajax.ActionLink(Model.AddNewItemButtonTitle, Model.AddActionName, Model.AddActionController, Model.AddActionRoutValues, ajaxDialogoptions, new { Class = "btn btn-primary anti-align-rtl" })
这是我的脚本包:
Bundle bundle = new Bundle("~/Scripts/jsRTL");
bundle.AddFile("~/Scripts/Common/jquery-1.9.1.min.js");
bundle.AddFile("~/Scripts/Common/jquery-ui-1.10.1.custom.min.js");
bundle.AddFile("~/Scripts/Common/jquery.unobtrusive-ajax.min.js");
bundle.AddFile("~/Scripts/Validator/jquery.validate.min.js");
bundle.AddFile("~/Scripts/Validator/jquery.validate.unobtrusive.min.js");
bundle.AddFile("~/Scripts/Globalize/globalize.js");
bundle.AddFile("~/Scripts/Globalize/globalize.culture.en-US.js");
bundle.AddFile("~/Scripts/Globalize/globalize.culture.he.js");
bundle.AddFile("~/Scripts/Globalize/globalize.culture.he-IL.js");
bundle.AddFile("~/Scripts/Bootstrap/bootstrap-rtl.js");
bundle.AddFile("~/Scripts/Common/Common.js");
最佳答案
尝试将 ajaxStart- 和 ajaxStop-Handler 添加到文档中,如下所示:
$(document).ajaxStart(function () {
alert("AJAX START");
//timer = setTimeout(function () { body.addClass("loading"); }, 50)
});
$(document).ajaxStop(function () {
alert("AJAX STOP!!!");
//$(this).removeClass("loading");
//clearTimeout(timer);
});
参见here :
As of jQuery 1.8, however, the .ajaxStart() method should only be attached to document.
关于jquery - .ajaxStart 和 .ajaxStop 由于某些奇怪的原因未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15426629/