2

我想將我的主頁中的RequestVerificationToken傳遞給用ValidateAntiforgeryToken屬性裝飾的控制器動作。將角度js中的RequestVerificationToken傳遞給mvc控制器

我的基本觀點是如下:

@{ 
    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(); 
     } 
    }); 
} 

但我得到的標記值爲空/未定義。 我在這裏做錯了什麼? 請幫忙。 感謝

回答

3

是的,我正確地得到它,如果我通過它象下面這樣:

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