1
jQuery DataTalesを使用して、MVC5からPOST URLを要求し、偽造トークンを追加しようとしています。私はそれをヘッダーとリクエスト本体の両方に追加しましたが、依然として500エラーが表示されます:「必要な反偽造フォームフィールド「__RequestVerificationToken」は存在しません。__RequestVerificationTokenがAjax POSTに存在しません
形式:
<form id="my-units-form" action="@Url.Action("MyUnitsResults", "Provider")" class="form-horizontal criteria well well-sm">
@Html.AntiForgeryToken()
....
はJavaScript:
$userDt = $('#users-table')
.DataTable({
serverSide: true,
ordering: false,
searching: true,
ajax: {
"url": url,
"type": "POST",
'contentType': 'application/json',
"dataType": "json",
headers: { '__RequestVerificationToken': $('form input[name=__RequestVerificationToken]').val() },
data: function (d) {
d.__RequestVerificationToken= $('form input[name=__RequestVerificationToken]').val();
return JSON.stringify(d);
}
},
優秀で
[ValidateAntiForgeryToken]
属性を置き換え、ヘッダとあなたのコントローラメソッド内から値を読み取るために、カスタムFilterAttributeを作成する必要があります!ありがとう。 – Echilon