내에서 액션 매개 변수의 값을 얻기 나는 JQuery와에서에 게시하고 작업을해야합니다. 다른 그룹 작업이 있으므로 권한 부여 특성을 사용하여 변경 작업을 수행하는 사람에게 변경 권한이 있는지 확인하고 싶습니다.액션 필터
filterContext.HttpContext.Request.Params["groupId"]
에 액세스하여 groupId
을 GET 요청에 성공적으로 검색하는 AuthorizationAttribute
이 이미 있지만 POST에서는 작동하지 않습니다. Request.Form
은 비어 있으며 Request.Params
입니다. 여기
public int groupId { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
username = httpContext.User.Identity.Name.Split('\\').Last();
// awesome permissions checking goes here...
return authorized;
}
public override void OnAuthorization(AuthorizationContext filterContext)
{
groupId = int.Parse(filterContext.HttpContext.Request.Params["groupId"]); // this line throws an exception
base.OnAuthorization(filterContext);
}
나는이 answer 살펴 보았다하지만 내 Form
속성은 빈 :(JQuery와 포스트 보여
업데이트됩니다 :
var serverComm = {
post: function (url, data) {
return $.ajax({
url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
});
},
get: function (url, data) {
return $.ajax({
url: url,
type: 'GET',
cache: false,
contentType: 'application/json; charset=utf-8',
data: data
});
}
};
// some awesome code later...
serverComm.post(editGroupNameUrl, { groupId: group.id, name: newName })
을
매개 변수는 Form 매개 변수로 설정되어 있습니까? QueryString에있을 가능성이 있습니까? – ivowiblo
QueryString이 비어 있습니다. 그리고 "Form 매개 변수로"라는 것은 무엇을 의미합니까? 맨 위로 코드 예제 – soniiic
에 내 작업을 볼 수 있습니까? 양식 코드를 게시 할 수 있습니까? – ivowiblo