我想将主页中的 RequestVerificationToken 传递给用 ValidateAntiforgeryToken 属性修饰的 Controller 操作。
我的基本 View 如下:
@{
Layout = null;
}
@Html.AntiForgeryToken()
在 html 中呈现的标记为:
<input name="__RequestVerificationToken" type="hidden" value="9DLRgZ1UYKCRdDxhIx0qJ9fovUJafQ8tvfkd21M6hJHQBRnbvNLu5BlYwZXwGUUXmkGfmB5cFMsgaH0rbd7OorW9WVC3XvQYGdbki3KoxMaYxfEf7FLELnm3IDF95bjET83Dls1ZnLNAoLxFO_2SbPkwg7lJjKF6F4vPWredPYM1" class="ng-scope">
我正在尝试在 httpExecute 函数中传递 token ,如下所示:
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。 我在这里做错了什么? 请帮忙。 谢谢
最佳答案
是的,如果我像下面这样传递它,我就得到了正确的结果:
return $http({
method: opt.method,
url: opt.url,
params: opt.params,
data: opt.data,
headers: {
'__RequestVerificationToken': $(':input:hidden[name*="RequestVerificationToken"]').val()
}
})
关于asp.net-mvc - 将 RequestVerificationToken 从 Angular js 传递到 mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27310334/