asp.net-mvc Utiliser AntiForgeryToken avec Jquery Ajax Request


Exemple

Tout d'abord, vous créez le formulaire

@using (Html.BeginForm())
{
  @Html.AntiForgeryToken()
}

Méthode d'action

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Test(FormViewModel formData)
{
    // ...
}

Scénario

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
var formData = new FormData($('form')[0]);
$.ajax({
    method: "POST",
    url: "/demo/test",
    data: formData ,
    success: function (data) {
  console.log(data);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
    }
})
</script>

Assurez-vous que contentType n'est pas défini sur autre chose que application/x-www-form-urlencoded et si son Jquery non spécifié est défini par défaut sur application/x-www-form-urlencoded