2014-12-30 5 views
1

내가있는 jqGrid에 대한 antiforgery 토큰을 구현하기 위해 노력하고, 아래 나는 또한 놓여있다Antiforgerytoken이있는 jqGrid의 POSTDATA에, MVC는 #

var token = $('[name= "__RequestVerificationToken"]').val() 

$("#gridname").jqGrid('setGridParam',{ postData:{__RequestVerificationToken:token,aID : @ViewBag.AID}});  

$("#gridname").trigger("reloadGrid"); 

을 수행 할 @ Html.AntiForgeryToken() 시도하고있는 무슨는 C; 페이지의 본문에 System.Web.Mvc.HttpAntiForgeryException : 나는 토큰이 너무 생성되는 것을 볼 수 있지만 내가

예외 정보를 얻고 디버거를 사용하여 필수 위조 방지 토큰이 제공되거나 유효하지 않았다.

컨트롤러에 [ValidateAntiForgeryToken]을 넣었으며 동일한 것을 치지 않았습니다. 이것에 대한 해결책이 있습니까? Antiforgery 토큰을 jqgrid에 적용 할 수 있습니까?

+0

당신이 헤더로 위조 토큰을 전송하려 했 데 도움이? '$ (: extraparam : {__RequestVerificationToken) ('[이름 = "__RequestVerificationToken"] ') $ 을 발을 (아니면있는 jqGrid의 추가 PARAM에 전달보십시오. __RequestVerificationToken : –

+0

의 postData에 직접 값을 전달하십시오 입력 [name = __ RequestVerificationToken] '). val()}} – user3263194

답변

1

의견에 Nacho가 제안한대로 HEADERS에 요청 위조 토큰을 추가해야합니다.

var headers = {}; 

headers['__RequestVerificationToken'] = $('[name= "__RequestVerificationToken"]').val(); 

$("#gridname").jqGrid('setGridParam',{ headers: headers, postData:{aID : @ViewBag.AID}});  

희망이

+0

제안에 감사드립니다. 언급 한 것처럼 헤더를 전달하려고했지만 여전히 System.Web.Mvc.HttpAntiForgeryException을 받고 있습니다 : 필요한 위조 토큰이 제공되지 않았거나 잘못되었습니다. 내가 볼 수있는 다른 방법이 있습니까? –