微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在ASP.NET MVC之后的Ajax中传递antiforgerytoken

如何解决尝试在ASP.NET MVC之后的Ajax中传递antiforgerytoken

嗨,我正在尝试通过ajax调用将antiforgerytoken传递给MVC asp.net,我尝试了该调用,并且它似乎可以正常工作,但是只要我在数据调用中包含其他带有antiforgerytoken的变量,它总是失败

我想指出的是,我在局部视图中具有antiforgerytoken形式,并且我想在许多使用ajax的形式中使用antiforgerytoken

这是我的ajax调用示例

var form = $('#__AjaxAntiForgeryForm');
var token = $('input[name="__RequestVerificationToken"]',form).val();

function GetStoragePlacesForHome($hid) {
    alert(gettoken());
    $(".storageItemArea").html("");
    $.ajax({
        type: 'POST',url: $linkUrl + "StoragePlaces/GetStorageByHome",dataType: "json",data: {
            __RequestVerificationToken: token,hId: $hid,uId: $("#uid").val(),},success: function (resultData) {
            
            }
            $(".totalStorage").text($(".storageItemArea").children().length);
        }
    })
    
}

下面是我希望访问的表格

    [HttpPost]
    [ValidateAntiForgeryToken]
    public JsonResult GetStorageByHome(int hId,string uId)
    {
        Home home = db.Homes.FirstOrDefault(x => x.Id == hId && x.Ownerfk == uId);
        if(home != null)
        {
            List<StoragePlace> storagePlaces = db.StoragePlaces.Where(x => x.HomeId == home.Id).ToList();
            string jsonStoragePlaces = new JsonParser().GenericParser(storagePlaces);
            return Json(new { success = true,jsonStoragePlaces,responseText = "successful." },JsonRequestBehavior.AllowGet);
        }
        else
        {
            return Json(new { success = false,responseText = "Error no homes found!" },JsonRequestBehavior.AllowGet);

        }

    }

我在头文件中也包含了antiforgerytoken,但是很遗憾,如前所述,当我在ajax调用内的数据字段中没有其他变量时,此方法起作用了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。