大佬教程收集整理的这篇文章主要介绍了jquery – 不存在所需的防伪表单字段“__RequestVerificationToken”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$.ajax({ url: '/SALEs/Create',data: JSON.Stringify(SALEsmain),type: 'POST',contentType: 'application/json;',dataType: 'json',success: function (result) { if (result.success == "1") { window.LOCATIOn.href = "/SALEs/index"; } else { alert(result.eX); } } });
现在,它没有像ajax请求那样导航到SALEs Controller中的Create操作,在此之前,它会抛出以下异常:
我在谷歌搜索了很多但仍然不成功,这就是为什么我在这里,我读过一些博客,说使用jquery获取隐藏的__requestVerificationToken字段并将其附加到表单值,包含JSON.Stringify(SALEsmain)在一个函数中,这样:
$.ajax({ . . addrequestVerificationToken(JSON.Stringify(SALEsmain))
和功能:
function addrequestVerificationToken(data) { data.__requestVerificationToken = $('input[name=__requestVerificationToken]').val(); return data; };
另外,我已经有了以下代码结构:
@using (Html.beginForm()) { @Html.AntiForgeryToken() . .
和Create操作之前的属性:
[httpPost] [ValidateAntiForgeryToken] public JsonResult Create([Bind(Include = "SALEsId,ReferenceNo,SALEsDate,SALEsPerson")] SALEsmain SALEsmain) { . .
而且我也在使用jQuery 1.5,可能是它的罪魁祸首,如果不是那么我应该怎么做才能解决这个问题?任何帮助将深表感谢,在此先感谢:)
您可以通过将代码更改为来完成此工作
data: JSON.Stringify(addrequestVerificationToken(SALEsmain)),
但是这是不必要的,因为您不需要对数据进行字符串化.而是删除contentType:’application / json;’选项,以便它使用默认的application / x-www-form-urlencoded; charset = UTF-8’并使用
data: addrequestVerificationToken(SALEsmain),
或者更好的是,如果您使用HtmlHelper方法正确生成了视图,并且您的输入包含正确的name属性(name =“SALEsId”,name =“ReferenceNo”等),那么您只需使用
data: $('form').serialize(),`
这将正确序列化您表单中的所有输入,包括令牌.
以上是大佬教程为你收集整理的jquery – 不存在所需的防伪表单字段“__RequestVerificationToken”全部内容,希望文章能够帮你解决jquery – 不存在所需的防伪表单字段“__RequestVerificationToken”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。