[英]asp.net mvc “The required anti-forgery form field”__RequestVerificationToken“ is not present.”
[英]Nopcommerce The required anti-forgery form field “__RequestVerificationToken” is not present."
M也收到此錯誤,但是為了進行更改,我嘗試使用ajax提交表單。 那時它進入錯誤功能並得到響應,因為“不存在必需的反偽造表單字段“ __RequestVerificationToken”。”
我嘗試了不同的解決方案,以便將此標記值與要發布的formdata一起添加到ajax標頭中。 但是他們都不起作用。
請找到以下代碼,當在注冊模塊中單擊“新帳戶”時,將執行該代碼。
var form = $('#registerForm');
var dataObject = $('#registerForm').serializeObject();
var token = form.find('[name=__RequestVerificationToken]').val();
dataObject["__RequestVerificationToken"] = token;
var formData = JSON.stringify(dataObject);// store json string
var headers = {};
headers['__RequestVerificationToken'] = token
$.ajax({
type: 'POST',
url: 'Customer/Register',
headers: headers,
data: formData,
contentType: 'application/json',
dataType: "json",
success: function (data) {
alert("success=" + data);
},
error: function (data) {
alert("error=" + data);
}
});
嘗試了我在stackoverflow或任何nopcommerce博客中發現的所有排列,但未成功。 如果您有解決方案將模型與該安全令牌一起發布,請與任何人聯系,請盡早答復。
問候
您可以按以下方式整理formData和防偽數據令牌:
function addAntiForgeryToken(data) {
//if the object is undefined, create a new one.
if (!data) {
data = {};
}
//add token
var tokenInput = $('input[name=__RequestVerificationToken]');
if (tokenInput.length) {
data.__RequestVerificationToken = tokenInput.val();
}
return data;
};
在“ $ .ajax({”行之前,先調用以下函數
addAntiForgeryToken(yourFormData);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.