Ajax ile konuşulan AntiForgeryToken ile sorun yaşıyorum. ASP.NET MVC 3 kullanıyorum. JQuery Ajax çağrıları ve Html.AntiForgeryToken () çözümü denedim . Bu çözümü kullanarak, belirteç şimdi geçiyor:
var data = { ... } // with token, key is '__RequestVerificationToken'
$.ajax({
type: "POST",
data: data,
datatype: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
url: myURL,
success: function (response) {
...
},
error: function (response) {
...
}
});
[ValidateAntiForgeryToken]
Verileri (jetonla) denetleyiciye parametre olarak iletilip iletilmediğini görmek için özniteliği kaldırdığımda, bunların iletildiğini görebiliyorum. Ancak bir nedenden dolayı, A required anti-forgery token was not supplied or was invalid.
özniteliği geri koyduğumda mesaj hala açılıyor.
Herhangi bir fikir?
DÜZENLE
Antiforgerytoken bir form içinde oluşturuluyor, ancak göndermek için bir gönderme eylemi kullanmıyorum. Bunun yerine, jquery kullanarak jetonun değerini alıyorum ve daha sonra bunu yayınlamaya çalışıyorum.
Belirteci içeren ve üst kalıp sayfada yer alan form:
<form id="__AjaxAntiForgeryForm" action="#" method="post">
@Html.AntiForgeryToken()
</form>