当Unobtrusive ajax执行ajax调用时,它似乎不会调用全局jquery ajax事件。以下是我尝试处理此事件的示例。
$(document).ajaxComplete(function () { alert('test'); });
如果我按照以下方式进行ajax调用,该事件可以正常运行:
$.ajax({
url: "/myurl",
type: 'GET',
success: function (data) { //do something }
});
知道如何为所有ajax完整事件设置全局句柄,无论其来源如何?或者如何处理Unobtrusive Ajax的全局事件?
答案 0 :(得分:1)
我们遇到了同样的问题。由于某种原因,.ajaxComplete无法使用不显眼的ajax。但是,我们确实发现.ajaxStart和.ajaxStop总是被调用。
以下是我们如何使用它来处理微调器并重新解析动态内容的验证:
$(document).ajaxStart(function (event, jqxhr, settings) {
$("#ajax-spinner").show();
});
$(document).ajaxStop(function (event, jqxhr, settings) {
$("#ajax-spinner").hide();
$("form").each(function () {
var form = $(this);
form.removeData('validator');
form.removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(form);
});
});