Как обработать определенную ошибку HTTP для всех вызовов AJAX?
У меня есть веб-приложение, запрашивающее и отправляющее данные через AJAX, и в ответ мой сервер отправляет коды состояния HTTP, в зависимости от ситуации. так, например, если пользователь пытается войти в систему, когда он вошел в систему, я, вероятно, верну400 HTTP status code
, И в конце концов я обращаюсь с этим с предупреждением
Но обработка этих кодов состояния HTTP становится слишком сложной, поскольку я активно использую AJAX. это означает, что я буду неоднократно обрабатывать код состояния HTTP при каждом запросе AJAX, что приведет к дублированию кода, и это плохая практика.
Так,what I'm looking for это способ обрабатывать все эти ошибки в одном месте, поэтому я просто обработать все400
, 401
и т. д. с тем же кодом.
What i'm currently doing:
Обработка ошибок вручную для каждого вызова AJAX. ИспользуяstatusCode
в$.ajax()
.
statusCode: {
500: function(data) {
alert('Some friendly error message goes here.');
}
Мне кажется это излишним, так как мое веб-приложение развивается, и когда я создаю больше вызовов ajax. Я буду повторять этот кусок кода снова и снова.
В настоящее время я имею в виду единственную идею - создать функцию, которая будет работать поверх AJAX, что-то вроде:
function doAjax(type,url, data, moreVars) {
//this function is just a SIMPLE example, could be more complex and flexible.
$.ajax({
type: type,
url: url,
data: data,
moreOptions:moreVars,
//now handling all status code.
statusCode: {
//handle all HTTP errors from one place.
}
});
}
doAjax("POST", 'mydomain.com/login.php', dataObj);