MVC OnException返回Json结果以显示错误消息

时间:2019-03-01 15:13:56

标签: c# asp.net-mvc error-handling

发生错误时,我的OnException()被触发,并且从我的Ajax调用中正确记录了错误。

问题是我在Json结果中返回的errorMessage没有显示,并且result.data为“”。

您能看到我的代码在做什么错吗?

        $.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 :(得分:0)

答案:

我在发布此问题时已将其修复。

我的数据中有“错误” = ...而不是“ errorMessage”

它现在在我的警告消息框中显示errorMessage。