2

내 홈 페이지의 RequestVerificationToken을 ValidateAntiforgeryToken 속성으로 장식 된 컨트롤러 작업으로 전달하려고합니다.Angular js에서 mvc 컨트롤러로 RequestVerificationToken 전달

내 기본보기는 다음과 같습니다 :

@{ 
    Layout = null; 
} 
@Html.AntiForgeryToken() 

으로 HTML로 렌더링 토큰 :

<input name="__RequestVerificationToken" type="hidden" value="9DLRgZ1UYKCRdDxhIx0qJ9fovUJafQ8tvfkd21M6hJHQBRnbvNLu5BlYwZXwGUUXmkGfmB5cFMsgaH0rbd7OorW9WVC3XvQYGdbki3KoxMaYxfEf7FLELnm3IDF95bjET83Dls1ZnLNAoLxFO_2SbPkwg7lJjKF6F4vPWredPYM1" class="ng-scope"> 

같이 내가 httpExecute 함수에서 토큰을 전달하기 위해 노력하고있어 :

this.httpExecute = function (opt) { 
$http.defaults.headers.common['_RequestVerificationToken'] = $(':input:hidden[name*="RequestVerificationToken"]').val();   
    return $http({ 
     method: opt.method, 
     url: opt.url, 
     params: opt.params, 
     data: opt.data 
    }) 
    .error(function (response) { 
     if (response.IsTokenExpired == true) { 
      $user.logoutsession(); 
     } 
    }); 
} 

하지만 토큰 값이 null/undefined로 표시됩니다. 여기서 내가 뭘 잘못하고 있니? 도와주세요. 감사

답변

3

나는 아래처럼 전달하면 그래, 난, 제대로 받고 있어요 :

return $http({ 
     method: opt.method, 
     url: opt.url, 
     params: opt.params, 
     data: opt.data, 
     headers: { 
      '__RequestVerificationToken': $(':input:hidden[name*="RequestVerificationToken"]').val() 
     } 
    })