Asp.net mvc 3 支持ASP.NETMVC3的低调javascript,ajaxComplete一次又一次地启动
在不引人注目的javascript之前,我使用以下寄存器处理ajax complete事件:Asp.net mvc 3 支持ASP.NETMVC3的低调javascript,ajaxComplete一次又一次地启动,asp.net-mvc-3,unobtrusive-javascript,Asp.net Mvc 3,Unobtrusive Javascript,在不引人注目的javascript之前,我使用以下寄存器处理ajax complete事件: Sys.Net.WebRequestManager.add_completedRequest(myHandler); 每次ajax请求完成时,此事件处理程序都会触发。我在$(document).ready()中还有一个ajaxComplete事件绑定,专门通过jQuery处理ajax调用: $.ajaxComplete(function (e, xhr, settings) { myHandl
Sys.Net.WebRequestManager.add_completedRequest(myHandler);
每次ajax请求完成时,此事件处理程序都会触发。我在$(document).ready()中还有一个ajaxComplete事件绑定,专门通过jQuery处理ajax调用:
$.ajaxComplete(function (e, xhr, settings) {
myHandler(xhr)
});
这也很有效。但当我在ASP.NETMVC3中启用非结构化javascript时,我得到了一个不同的行为。它在第一个ajax调用完成时第一次触发,但在后续ajax请求中,ajaxComplete事件将不再触发
现在,我知道您需要调用$.validate.unobtrusive.parse()在表单中的元素通过部分回发更新后重新生成验证。我是否需要做类似的事情来确保ajaxComplete可以在后续请求中再次启动?我找不到这方面的文件
仅供参考:我已经包含了所有jquery*.js lib以支持不引人注目的javascript。我还提供了MicrosoftMvc*.js libs,以支持项目中的遗留代码。我一直希望把一切都改变过来,直到遇到这个问题
你需要把ajaxComplete附加到我想的元素上
$('.info').ajaxComplete(function() {
var info = $(this);
info.html('Success!');
});
您应该只需要在元素的生命周期中将ajaxComplete附加到元素一次。您需要实际将ajaxComplete附加到我认为是的元素吗
$('.info').ajaxComplete(function() {
var info = $(this);
info.html('Success!');
});
您应该只需要在元素的生命周期中将ajaxComplete附加到元素一次