ASP.NET MVC 3 - включен ненавязчивый JavaScript, ajaxComplete запускается один раз и никогда больше - PullRequest
2 голосов
/ 10 июня 2011

До появления ненавязчивого javascript я обрабатывал события завершения ajax со следующим регистром:

Sys.Net.WebRequestManager.add_completedRequest(myHandler);

Этот обработчик событий будет запускаться каждый раз, когда завершается запрос ajax.У меня также есть привязка события ajaxComplete в $ (document) .ready () для обработки вызовов ajax исключительно через jQuery:

$.ajaxComplete(function (e, xhr, settings) {
    myHandler(xhr)
});

, что также прекрасно работает.Но у меня другое поведение, когда я включил ненавязчивый JavaScript в ASP.NET MVC 3. Он запускается в первый раз, когда первый вызов ajax завершен, но при последующих запросах ajax событие ajaxComplete никогда не запускается снова.

ТеперьЯ знаю о том, что вам нужно вызвать $. Validate.unobtrusive.parse () , чтобы перестроить проверку после обновления элементов в форме посредством частичной обратной передачи.Есть ли что-то похожее, что мне нужно сделать, чтобы ajaxComplete снова мог запускаться при последующих запросах?Я не могу найти документацию по этому вопросу.


К вашему сведению: я включил все библиотеки jquery * .js для поддержки ненавязчивого JavaScript.У меня также есть библиотеки MicrosoftMvc * .js для поддержки устаревшего кода в проекте.Я надеялся все преобразовать, пока не столкнулся с этой проблемой.

1 Ответ

0 голосов
/ 08 октября 2011

Вам нужно прикрепить ajaxComplete к элементу, который я подумал?

$('.info').ajaxComplete(function() {
   var info = $(this);
   info.html('Success!');
});

Вам нужно только прикрепить ajaxComplete к элементу один раз в его жизни.

...