Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 支持ASP.NETMVC3的低调javascript,ajaxComplete一次又一次地启动_Asp.net Mvc 3_Unobtrusive Javascript - Fatal编程技术网

Asp.net mvc 3 支持ASP.NETMVC3的低调javascript,ajaxComplete一次又一次地启动

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

在不引人注目的javascript之前,我使用以下寄存器处理ajax complete事件:

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附加到元素一次