1
您好我有一个不为控制角色授权的伎俩以下过滤器属性:ASP.NET MVC 4 AJAX角色基础授权返回错误500
public class AccessDeniedAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
// For AJAX requests
// returninr sample error that need to be catch on ajax success
filterContext.Result = new JsonResult { Data= new { errorMessage="Access Blocked!!."} };
}
else
{
if (filterContext.Result is HttpUnauthorizedResult)
{
filterContext.Result = new RedirectResult("~/Account/UnauthorizedRole");
}
}
}
}
在我的客户阿贾克斯我:
$.ajax({
url: url,
context: document.body,
success: function (data) {
$('#imgloading').remove();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('error');
}
});
它总是生成一个错误,错误是500.所以我不知道我做错了什么,因为我只是想获取Data.errorMessage并将其显示在警报窗口中。
任何线索,为什么我得到服务器错误500?
是该行被击中。所以它确定在服务器端。 – VAAA
你知道我是否可以使用新的JsonResult添加AllowGet? – VAAA
@VAAA,我编辑了答案给你一个提示。 –