На моем веб-сайте SPA мне нужно отправить токен защиты от подделок на сервер с помощью ajax. Я использую этот метод статьи:
Итак, в моем layout.cshtml у меня есть локальная функция:
<script>
@functions{
public string TokenHeaderValue()
{
string cookieToken, formToken;
AntiForgery.GetTokens(null, out cookieToken, out formToken);
return cookieToken + ":" + formToken;
}
}
</script>
и у меня есть отдельный файл js с именем register.js, где я вызываю эту функцию внутри ajax:
$.ajax({
url: 'User/JsonRegister',
type: "POST",
data: d,
headers: {
'RequestVerificationToken': '@TokenHeaderValue()'
},
success: function (result) {
},
error: function (result) {
}
});
проблема в том, что я никогда не вызывал @TokenHeaderValue(), и я продолжаю получать эту ошибку:
The required anti-forgery form field "__RequestVerificationToken" is not present.
Как решить эту проблему?