首页 > 代码库 > Ajax+MVC异常错误返回
Ajax+MVC异常错误返回
加入特性
//JsonExceptionFilterAttribute.cs
[ AttributeUsage( AttributeTargets.Method | AttributeTargets .Class)]
public class JsonExceptionFilterAttribute : FilterAttribute,IExceptionFilter
{
public void OnException( ExceptionContext filterContext)
{
if(filterContext.RequestContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.HttpContext.Response.StatusCode = 500;
filterContext.ExceptionHandled = true;
//关闭IIS自定义错误
filterContext.HttpContext.Response.TrySkipIisCustomErrors =true;
filterContext.Result = new JsonResult
{
Data =http://www.mamicode.com/ new
{
errorMessage = filterContext.Exception.Message
},
JsonRequestBehavior = JsonRequestBehavior .AllowGet
};
}
}
}
//Controller
[JsonExceptionFilterAttribute ]
//Ajax错误返回部分
error: function (XMLHttpRequest, textStatus, errorThrown) {
try {
var errorJson = {};
//如果不是Json就当HTML字符串处理
if (!XMLHttpRequest.responseText.match("^\{(.+:.+,*){1,}\}$" )) {
//普通字符串处理,
var msg = "";
$(XMLHttpRequest.responseText).each(function (i, item) {
if (item.nodeName.toLocaleLowerCase() == "title" ) {
msg = $(item).text();
}
});
alert(msg);
}
else {
//通过这种方法可将字符串转换为对象
errorJson = $.parseJSON(XMLHttpRequest.responseText);
alert(errorJson.errorMessage);
}
} catch (e) {
alert( "意外的错误" );
}
hidediv();
}
Ajax+MVC异常错误返回
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。