मैं ajax के साथ antiForgeryToken को लेकर परेशान हूं। मैं 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.
जब मैं विशेषता वापस डालता हूं तब भी संदेश पॉप-अप होता रहता है।
कोई विचार?
संपादित करें
एंटीफॉरगेरीटोकेन एक फॉर्म के अंदर उत्पन्न हो रहा है, लेकिन मैं इसे सबमिट करने के लिए सबमिट एक्शन का उपयोग नहीं कर रहा हूं। इसके बजाय, मैं सिर्फ jquery का उपयोग कर टोकन मूल्य प्राप्त कर रहा हूं और फिर ajax पोस्ट करने की कोशिश कर रहा हूं।
यहां वह फ़ॉर्म है जिसमें टोकन शामिल है, और शीर्ष मास्टर पृष्ठ पर स्थित है:
<form id="__AjaxAntiForgeryForm" action="#" method="post">
@Html.AntiForgeryToken()
</form>