RequestVerificationTokenヘッダにトークンを入れてあげる。
コードを見た方が早い。
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Xsrf
$.ajax({
url: "/test",
headers: { "RequestVerificationToken":"@(Xsrf.GetAndStoreTokens(Context).RequestToken)" }
}).done(function (result) {
}).fail(function () {
}).always(function () {
})
なお、あまり無いとは思うけど、popoverのコンテンツに使うなどの理由でinput要素ごと埋め込みたいときはこうする。
@using System.IO;
@{
var writer = new StringWriter();
Html.AntiForgeryToken().WriteTo(writer, HtmlEncoder);
var token = writer.ToString();
var content= $@"
<form action=""/test"" method=""post"">
{token}
</form>
";
}