Как обрабатывать определенную ошибку HTTP для всех вызовов AJAX?

У меня есть веб-приложение, запрашивающее и отправляющее данные через 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);
6
задан Abdulaziz 29 July 2012 в 00:13
поделиться