小编Her*_*art的帖子

如何使用$ .ajax发布JSON数据时提供AntiForgeryToken?

我正在使用以下帖子的代码:

首先,我将使用控制器操作的正确值填充数组变量.

使用下面的代码我认为只需在JavaScript代码中添加以下行就可以非常简单:

data["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
Run Code Online (Sandbox Code Playgroud)

<%= Html.AntiForgeryToken() %>是在其正确的位置,动作有[ValidateAntiForgeryToken]

但我的控制器动作一直说:"无效的伪造令牌"

我在这做错了什么?

data["fiscalyear"] = fiscalyear;
data["subgeography"] = $(list).parent().find('input[name=subGeography]').val();
data["territories"] = new Array();

$(items).each(function() {
    data["territories"].push($(this).find('input[name=territory]').val());
});

    if (url != null) {
        $.ajax(
        {
            dataType: 'JSON',
            contentType: 'application/json; charset=utf-8',
            url: url,
            type: 'POST',
            context: document.body,
            data: JSON.stringify(data),
            success: function() { refresh(); }
        });
    }
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc json antiforgerytoken

70
推荐指数
8
解决办法
7万
查看次数

标签 统计

ajax ×1

antiforgerytoken ×1

asp.net-mvc ×1

json ×1