我在Mvc项目中有一个带有AntiforgeryToken()
值的窗体。当提交表格时,它将与MvC项目中的相应控制器进行验证后行动ValidateAntiforgeryToken
。如何通过Ajax post防止跨站点请求伪造?
到确认页面。在具有隐藏表单的两个按钮的确认中,这将会与前面的上述相同的Post操作进行。我在这两个隐藏表单中添加了Html.Antiforgerytoken()
。点击按钮时,我们不需要Form Post [页面重新加载],而不需要使用Ajax post。
我已经尝试过使用Ajax帖子(使用Antiforgerytoken
),但它不会触发发布操作。显示404错误。
您能否请建议如何启用AntiforgryToken
使用Ajax post?为此,什么类型的代码句柄和它添加在哪里?
表的细节:
<form method="post" action="">
@Html.AntiForgeryToken()
<input type="hidden" name="Name" value="@downloadInfo.Name" />
<input type="hidden" name="Company" value="@downloadInfo.Company" />
<input type="hidden" name="Email" value="@downloadInfo.Email" />
<input type="hidden" name="Phone" value="@downloadInfo.Phone" />
</form>
阿贾克斯帖子:
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify(Formdatas),
contentType: 'application/json; charset=utf-8',
beforeSend: showLoadingGraphic(id),
success: onSuccessfulPost
});
http://stackoverflow.com/a/4074289/1551730 –