JQuery AJAX обработка ошибок реализована для обработки, если HTTP Request
имеет ошибку, а не если ваш скрипт возвращает «error» или «success». Если сервер выдает ошибку (404 Not Found или 500 Server Error в качестве примера), то он вызовет функции ошибок jQuery. Это может быть обработано несколькими способами, но один хороший способ - показать div, сообщающий пользователю, что произошла ошибка.
HTML
<div id="error" style="display: none">There was an error processing your last request</div>
JQuery
$(function(){
$("#error").ajaxError(function(){
var $error = $(this);
$error.slideDown(500, function(){
window.setTimeout(function(){
$error.slideUp(500);
}, 2000);
});
});
});
Если произойдет ошибка, ни один из ваших «успешных» методов не сработает, и этот div
соскользнет вниз, подождите 2 секунды, а затем снова сдвинется вверх.
Проверка скрипта на наличие ошибок
Как я уже упоминал, то, что вы описали, звучит так, как будто ваш серверный скрипт посылает "ошибку" или "успех" или что-то подобное обратно клиенту.
Если вы используете, например, $.post
, ваш код обработки ошибок может выглядеть следующим образом:
$.post('/your/url', { save_me: true }, function( data ){
if(data == "error"){
// handle error
} else {
// handle success
}
}