MVC OnException для возврата результата Json для отображения сообщения об ошибке - PullRequest
0 голосов
/ 01 марта 2019

Когда возникает ошибка, мой OnException () запускается, и ошибка регистрируется должным образом из моего вызова ajax.

Проблема заключается в том, что сообщение об ошибке, которое я возвращаю в Json, НЕ отображает результат и результат.data is "".

Вы видите, что я делаю неправильно с моим кодом?

        $.post("/Admin/CreateOrganization", createOrganizationModel)
        .done(function (data) {
            if (data.success) {                       
                //Everything is good 
            }
            else {
                swal(
                    'Failed to create organization.',
                    data.errorMessage,
                    'error'
                );
            }
        })
        .fail(function () {
            swal(
                'Failed to create organization. Please reload and try again',
                '',
                'error'
            );
        });

Вот мое исключение OnException:

        protected override void OnException(ExceptionContext filterContext)
    {
        // Log to database...

        if (filterContext.HttpContext.Request.IsAjaxRequest())
        {
            filterContext.ExceptionHandled = true;
            filterContext.Result = new JsonResult
            {
                Data = new { success = false, errorMessage = "An error has occurred." },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            base.OnException(filterContext);
        }
        else
        {
            Server.ClearError();

            RedirectToErrorView();
        }
    }

1 Ответ

0 голосов
/ 01 марта 2019

Ответ:

Я исправил это, когда отправлял этот вопрос.

У меня была «ошибка» в моих данных = ... вместо «errorMessage»

Это показывает errorMessage теперь в моем сладком окне с предупреждением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...