Поиск…


Интерпретация ошибок с обратным вызовом «ошибка»

Ошибки при правильном управлении сервером будут возвращены вашему клиенту с определенным кодом статуса HTTP, отличным от 2xx (см. RFC 2616, раздел 10 ).

Рекомендуется глобально $.ajaxSetup() ваши ошибки из вашего $.ajaxSetup() как показано в примере ниже. Поэтому все ошибки, исходящие из ваших вызовов ajax, будут автоматически интерпретироваться из настройки ajax.

$.ajaxSetup({
    error: function (jqXHR, exception, errorThrown) {
        var message;
        var statusErrorMap = {
            '400': "Server understood the request, but request content was invalid.",
            '401': "Unauthorized access.",
            '403': "Forbidden resource can't be accessed.",
            '500': "Internal server error.",
            '503': "Service unavailable."
        };
        if (jqXHR.status) {
            message = statusErrorMap[jqXHR.status];
            if (!message) {
                message = "Unknown Error.";
            }
        } else if (exception == 'parsererror') {
            message = "Error.\nParsing JSON Request failed.";
        } else if (exception == 'timeout') {
            message = "Request Time out.";
        } else if (exception == 'abort') {
            message = "Request was aborted by the server";
        } else {
            message = "Unknown Error.";
        }

        // How you will display your error message...
        console.log(message);
        console.log(errorThrown);
    }
});

Вы также можете «перегрузить» обратный вызов error в определенном $.ajax() когда вы ждете сообщения об ошибке.

$.ajax({
    url: './api',
    data: { parametersObject },
    type:'post',
    dataType: 'json',
    success:function(output){
        // Interpret success
    },
    error: function(xhr,textStatus,ErrorThrown){
        // Specific error will not be interpreted by $.ajaxSetup
    }
});


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow