Вы можете использовать собственный фильтр обработчика ошибок:
public class AjaxErrorHandler : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.ExceptionHandled = true;
filterContext.Result = new JsonResult
{
Data = new { errorMessage = "some error message" }
};
}
}
}
А затем украсьте свой контроллер / действия, которые вы вызываете через Ajax, или даже зарегистрируйте как глобальный фильтр.
Затем при выполнении Ajax-запроса вы можете проверить наличие свойства error:
$.getJSON('/foo', function(result) {
if (result.errorMessage) {
// Something went wrong on the server
} else {
// Process as normally
}
});