我是ASP.NET和MVC的新手。在我的控制器中,我在无效的用户输入上抛出ArgumentException
。我喜欢客户端以JSON格式获取一些信息的事实。但我不想发送整个堆栈跟踪,只是发送异常消息(其中包含错误的有用的本地化解释)。
我该怎么做呢?
我见过一些Application_Error()
和FilterException
,但他们似乎都重定向到一个特殊的“错误”视图,而我想留在同一页面上,只打印出一个对话框用户友好的解释。
答案 0 :(得分:1)
请查看此答案ASP.NET MVC Ajax Error handling以及是否需要StatusCode
:
filterContext.HttpContext.Response.StatusCode = 500;
答案 1 :(得分:1)
HttpContext.Response.StatusCode = 400
return new ContentResult{Content="My custom error"};
在这种情况下,ajax会将响应视为处于错误状态,您可以指定自定义消息并从response.responseText属性中获取
$.ajax({
.....
error: function(e){
alert(e.responseText); // your error message
}
});