У меня есть веб-приложение, запрашивающее и отправляющее данные через AJAX, и в ответ мой сервер -отправляет коды состояния HTTP, в зависимости от ситуации. так, например, если пользователь пытается войти в систему, когда он вошел в систему, я, вероятно, верну 400 HTTP status code
. И в конце концов я обрабатываю это предупреждением и т. д.
Но обработка этих кодов состояния HTTP становится слишком сложной, так как я активно использую AJAX. это означает, что я буду многократно обрабатывать код состояния HTTP с каждым запросом AJAX, что приведет к дублированию кода, и это плохая практика.
Итак, я ищу способ обработки всех этих ошибок в одном месте, поэтому я просто обрабатываю все 400
, 401
,и т. д. с тем же кодом.
Чем я сейчас занимаюсь:
Обработка ошибок вручную для каждого вызова 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);