У меня есть форма, которая сериализуется JQuery и отправляется через .ajax() в URL-адрес.JQuery .ajax() Успех всегда срабатывает (даже когда сервер возвращает код ошибки)
Проблема в том, что функция «success:» всегда вызывается, независимо от того, возвращает ли сервер код ошибки или нет.
Фактически, успех срабатывает даже до того, как сервер ответил (я поставил точку останова на методе сервера, который обслуживает запрос, - успех срабатывает даже до завершения этого метода). Если сервер возвращает код ошибки (например, код состояния 500), JQuery вызывает BOTH успешные события и ошибки!
Любые идеи, что происходит? Вот мой код JQuery:
$("#a-dialog").dialog({
autoOpen: false,
height: 300,
width: 400,
modal: true,
buttons: {
"Submit": function() {
$.ajax({
type: 'POST',
url: theURL,
data: $("#a-dialog-form").serialize(),
success: alert('ok!') // THIS IS ALWAYS CALLED (IMMEDIATELY)
});
},
},
});
UPDATE:
Это была глупая ошибка с моей стороны! Благодаря blue112 для быстро указав его :)
Doh! Конечно! Спасибо :) – UpTheCreek
+1 - код OPs присваивает * возвращаемое значение * 'alert (" ok! ")' Для свойства 'success' –