ฉันมีปัญหากับ AntiForgeryToken ด้วย ajax ฉันใช้ ASP.NET MVC 3. ฉันพยายามแก้ปัญหาในการโทร jQuery Ajax และ Html.AntiForgeryToken () การใช้โซลูชันนั้นโทเค็นกำลังถูกส่งผ่าน:
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]
คุณลักษณะเพียงเพื่อดูว่าข้อมูล (ด้วยโทเค็น) กำลังถูกส่งผ่านเป็นพารามิเตอร์ไปยังตัวควบคุมฉันจะเห็นว่าพวกเขากำลังถูกส่งผ่าน แต่ด้วยเหตุผลบางอย่างA required anti-forgery token was not supplied or was invalid.
ข้อความยังคงปรากฏขึ้นเมื่อฉันใส่คุณลักษณะกลับ
ความคิดใด ๆ
แก้ไข
antiforgerytoken กำลังถูกสร้างขึ้นภายในแบบฟอร์ม แต่ฉันไม่ได้ใช้การส่งเพื่อส่ง แต่ฉันแค่รับค่าโทเค็นโดยใช้ jQuery แล้วลอง ajax โพสต์นั้น
นี่คือฟอร์มที่มีโทเค็นและอยู่ที่หน้าต้นแบบด้านบน:
<form id="__AjaxAntiForgeryForm" action="#" method="post">
@Html.AntiForgeryToken()
</form>