Я пытаюсь обернуть голову вокруг проблемы, связанной с замыканием.
Я установил глобальный обработчик ошибок для jquery, используя $(document).ajaxError
, упрощенная версия:
$(document).ajaxError(
function(event, xhr, settings, exceptionthrown)
{
LogError(settings.url, function() { $.ajax(settings); });
}
);
LogError
- это функция, которая регистрирует ошибку и позволяет пользователю повторить запрос (он вызывает функцию, переданную через второй параметр в приведенном выше примере).
Все хорошо, когдаесть только одна ошибка, но при наличии нескольких ошибок настройки всегда указывают на один объект.Я понимаю, что это может быть связано с тем, что:
a) Все объекты передаются по ссылке.
b) Моя функция обратного вызова получает настройки из параметров ajaxerror, этот же объект может быть повторно использован для будущих ошибок.?
Может ли кто-нибудь подтвердить, что происходит, и как мне исправить это?
Спасибо!