【问题标题】:Nopcommerce The required anti-forgery form field "__RequestVerificationToken" is not present."Nopcommerce 所需的防伪表单字段“__RequestVerificationToken”不存在。”
【发布时间】:2016-03-27 18:21:33
【问题描述】:

M 也收到此错误,但为了进行更改,我正在尝试使用 ajax 提交表单。当时它进入错误功能并得到响应 " 所需的防伪表单字段 "__RequestVerificationToken" 不存在。"

我尝试了不同的解决方案来将此标记值添加到 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 博客中找到的所有排列,但没有成功。请任何人如果您有解决方案将模型与此安全令牌一起发布,请尽早回复。

问候

【问题讨论】:

  • 你能把你的控制器代码... 以便我们评估...

标签: jquery nopcommerce antiforgerytoken


【解决方案1】:

您可以将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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-13
    • 2016-05-26
    • 2018-04-25
    • 2015-03-14
    • 2017-12-26
    • 2016-09-10
    • 1970-01-01
    相关资源
    最近更新 更多