如何解决尝试在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 举报,一经查实,本站将立刻删除。