jQuery Ajax 发布错误
$.ajax({
type: "POST",
url: "/Controller/Methods/" + $('#FrameworkId').val() + "/10/" + $('#category').val(),
success: function(data) {
alert("sucess")
},
error:function(data) {
alert(data.statuscode)
}
});
在服务器端
假设在服务器端在我刚刚执行的操作中
filterContext.HttpContext.Response.StatusCode = 401;
throw new UnauthorizedAccessException("Login_Expired");
仍然 alert(data.statuscode)
给出 500
我该怎么做才能在设置时获得 401 ?
$.ajax({
type: "POST",
url: "/Controller/Methods/" + $('#FrameworkId').val() + "/10/" + $('#category').val(),
success: function(data) {
alert("sucess")
},
error:function(data) {
alert(data.statuscode)
}
});
And in server side
suppose in server side In the action i am just doing
filterContext.HttpContext.Response.StatusCode = 401;
throw new UnauthorizedAccessException("Login_Expired");
Still alert(data.statuscode)
gives 500
What can I do to get 401 as I set it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要抛出异常
不要在操作过滤器中抛出异常。
无论如何,你的动作过滤器的本质是什么?这是返回的异常过滤器示例 400 返回给客户端。
没有直接关系,但仅供参考。 HttpUnauthorizedResult 是 Asp.net MVC 框架的一部分,它以同样的方式执行此操作:
如您所见,它只返回适当的状态代码。 不抛出异常。
Don't throw the exception
Don't throw the exception in your action filter.
What is the nature of you action filter anyway? Here's an example of an exception filter that returns a 400 back to the client.
Not directly related but just FYI.
HttpUnauthorizedResult
which is part of Asp.net MVC framework does this the same way:As you can see it only returns an appropriate status code. Not exceptions thrown.