mode777的答案只需要添加一点即可完成此工作(我尝试过):
$(document).ajaxSend(function(e, xhr, options) { if (options.type.toUpperCase() == "POST") { var token = $form.find("input[name='af_token']").val(); xhr.setRequestHeader("RequestVerificationToken", token); }});实际上,如果您还使用Ajax提交,则根本不需要使用表单。将其放在您的_layout中:
<span > @Html.AntiForgeryToken() </span>
然后,将令牌添加到您的javascript中以提取令牌:
$(document) .ajaxSend(function (event, jqxhr, settings) { if (settings.type.toUpperCase() != "POST") return; jqxhr.setRequestHeader('RequestVerificationToken', $(".AntiForge" + " input").val())})@HtmlAntiForgeryToken生成带有防伪令牌的隐藏输入字段,与使用表单时相同。上面的代码使用类选择器选择范围来找到它,然后获取其中的输入字段以收集令牌并将其添加为标头。



