jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 不存在所需的防伪表单字段“__RequestVerificationToken”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的另一个障碍,我希望我的网站保持跨站点攻击,我正在通过使用asp.net mvc 5通过Ajax请求开发@L_646_0@master / Detail表单,所以,为了创建一个条目,我’通过这种方式来完成Ajax请求的过程:

$.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,可能是它的罪魁祸首,如果不是那么我应该怎么做才能解决这个问题?任何帮助将深表感谢,在此先感谢:)

解决方法

你的addrequestVerificationToken()函数不会添加令牌,因为你已经对数据进行了字符串化(它不再是一个javascript对象,因此数据.__ requestVerificationToken = $(…)什么都不做).

您可以通过将代码更改为来完成此工作

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,请注明来意。