У меня есть простая команда AJAX jQuery для обновления корзины покупок (вызванная изменением выпадающего списка):
$.ajax({
type: "POST",
url: $.url("updateCart"),
data: data,
dataType: "json",
success: function (data, status, req) {
alert(data + " - " + status + " - " + req);
});
Похоже, что в jQuery 1.4.x изменилось поведение вызова обратного вызова success
.
Если вы отправите запрос AJAX, а затем нажмете «обычную» кнопку отправки HTML-формы, он мгновенно отправит «ноль» на успешный обратный вызов. Так что для приведенного выше примера, если я инициирую событие AJAX и затем нажму кнопку отправки не AJAX - появится предупреждение:
null - success - [object XMLHttpRequest]
Fiddler проверяет для меня, что ответ AJAX еще не пришел с сервера - все же вызывается метод success
.
Это нарушало мой код, потому что ожидалось, что данные будут существовать.
Я отлично проверяю null
, если мне нужно - я просто не могу найти документацию по этому изменению в jQuery.
Так что мне интересно, это ошибка или дизайн?