发生错误时,我的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();
}
}
答案 0 :(得分:0)
答案:
我在发布此问题时已将其修复。
我的数据中有“错误” = ...而不是“ errorMessage”
它现在在我的警告消息框中显示errorMessage。