Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 利用MVC 3中的jQuery-3.2.1使用防伪令牌防止CSRF攻击_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 利用MVC 3中的jQuery-3.2.1使用防伪令牌防止CSRF攻击

Javascript 利用MVC 3中的jQuery-3.2.1使用防伪令牌防止CSRF攻击,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有上面的GetRequestVerificationToken()函数,我在使用jquery-1.7.2的asp.net MVC 3应用程序的Ajax调用中使用了该函数 升级到jquery-3.2.1后,出现以下错误: 未捕获错误:语法错误,无法识别的表达式:输入[name=”“\uu RequestVerificationToken”“] 在Function.Sizzle.error(jquery-3.2.1.js?v=2017_1:1580) 在Sizzle.tokenize(jquery

我有上面的GetRequestVerificationToken()函数,我在使用jquery-1.7.2的asp.net MVC 3应用程序的Ajax调用中使用了该函数

升级到jquery-3.2.1后,出现以下错误:

未捕获错误:语法错误,无法识别的表达式:输入[name=”“\uu RequestVerificationToken”“] 在Function.Sizzle.error(jquery-3.2.1.js?v=2017_1:1580) 在Sizzle.tokenize(jquery-3.2.1.js?v=2017_1:2232) 在Sizzle.select(jquery-3.2.1.js?v=2017_1:2659) 在Function.Sizzle[as find](jquery-3.2.1.js?v=2017_1:884) 在jQuery.fn.init.find(jQuery-3.2.1.js?v=2017_1:2922) 在jQuery.fn.init(jQuery-3.2.1.js?v=2017_1:3032) 在jQuery(jQuery-3.2.1.js?v=2017_1:98) 在GetRequestVerificationToken(Common.js?v=2017_1:265) 设置日历时(Report.js?v=2017_1:81) 在HTMLDocument。((索引):967)

有人知道我需要做什么语法更改吗

下面是我的示例使用脚本

    function GetRequestVerificationToken() {
    var token = $('input[name=""__RequestVerificationToken""]').val();
    var headers = {};
    headers['__RequestVerificationToken'] = token;
    return headers;
}
改变这个

$.ajax({
            async: true,
            cache: false,
            data: { startDate: sdate, endDate: edate },
            headers: GetRequestVerificationToken(),
            type: 'POST',
            url: '/' + virtualDirectory + '/Test/List',
            success: function (data) {
                $("#DivAction").html(data);
                TableSorter('audit');
                HideLoader();
            },
            error: function (msg) {
                alert("err in Audit Trail Search");
                HideLoader();
            }
为此:

$('input[name=""__RequestVerificationToken""]')

您需要的所有信息都显示在错误消息中。

解决问题的方法是重新编写GetRequestVerificationToken函数,如下所示

$('input[name="__RequestVerificationToken"]')

}

你解决了对我有用的问题吗
function GetRequestVerificationToken() {
//var token = $('input[name=""__RequestVerificationToken""]').val();
var token = $('[name=__RequestVerificationToken]').val();
var headers = {};
headers['__RequestVerificationToken'] = token;
return headers;