Как получить (обработать) ошибку (не допустимо и внутренняя ошибка сервера) Исключение содержимого в Ajax - PullRequest
0 голосов
/ 11 февраля 2019

Я добавил внутреннюю ошибку (исключение выброса) на стороне сервера.Теперь я хочу обработать эту ошибку на стороне клиента.Тем не менее, я получаю сообщение об ошибке undefined.

Я использую Postman, и вижу, что мой ответ в формате JSON, у него есть параметр ответа, такой как «Сообщение».Я попытался проанализировать JSON, и снова я получил Cannot read property 'Message' of undefined

Ajax-функцию, определенную так:

function Ajax(url, method,  json, successFunction, errorFunction, skipErrorDlg) {
$.ajax({
    url: url,
    data: json,
    type: method,
    contentType: 'application/json',
    beforeSend: function (xhr) {
        xhr.setRequestHeader('Authorization', GlobalAuthToken);
    },
    processData: false,
    dataType: 'json',
    success: function (data) {
        successFunction(data);
    },
    error: function(event, jqxhr, settings, thrownError) {
        if (errorFunction != null) {
            errorFunction();
        }
    }
});

}

Я использовал эту функцию в своем коде, ошибкачасть, как это, В этой функции, как я могу получить содержимое исключения?

function(event, jqxhr, settings, thrownError)
            {           
                alert("ERROR HAPPENED");
                var responseString = JSON.stringify(event);
                alert(responseString.Message);
                alert("event" + event.Message);

            },

Результат почтальона:

{
"Message": "Please select corresponding template."}

Ожидаемый результат должен быть: Please select corresponding template.

1 Ответ

0 голосов
/ 15 февраля 2019

Я решил проблему, если вы столкнулись с такой проблемой, пытаясь так:

function showAjaxError(event, jqxhr, settings, thrownError) {
    var msg = "";
    if (event.hasOwnProperty('responseJSON')) {
        var resp = event['responseJSON'];
        msg = (resp && resp.hasOwnProperty('Message')) ? resp.Message : "";
        msg = msg + ((resp && resp.hasOwnProperty('ExceptionMessage')) ? "\n\n" + resp.ExceptionMessage : "");
        if (resp && resp.hasOwnProperty('InnerException')) {
            msg = msg + ((resp && resp.InnerException.hasOwnProperty('ExceptionMessage')) ? "\n\n" + resp.InnerException.ExceptionMessage : "");
        }
    } else {
        msg = event.responseText;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...