function GetRequestVerificationToken() {
var token = $('input[name=""__RequestVerificationToken""]').val();
var headers = {};
headers['__RequestVerificationToken'] = token;
return headers;
}
我有上述 GetRequestVerificationToken() 函数,我一直在 jquery-1.7.2 的 MVC 3 应用程序中 asp.net Ajax 调用中使用。
升级到jquery-3.2.1后,我收到以下错误:
未捕获错误:语法错误,无法识别的表达式:输入[名称="__RequestVerificationToken"] at Function.Sizzle.error (jquery-3.2.1.js?v=2017_1:1580) at Sizzle.tokenize (jquery-3.2.1.js?v=2017_1:2232) at Sizzle.select (jquery-3.2.1.js?v=2017_1:2659) at Function.Sizzle [as find] (jquery-3.2.1.js?v=2017_1:884) at jQuery.fn.init.find (jquery-3.2.1.js?v=2017_1:2922) at jQuery.fn.init (jquery-3.2.1.js?v=2017_1:3032) at jQuery (jquery-3.2.1.js?v=2017_1:98) at GetRequestVerificationToken (Common.js?v=2017_1:265) at setCalender (Report.js?v=2017_1:81) 在 HTMLDocument。((索引):967)
有人知道我需要进行哪些语法更改吗?
下面是我的示例使用脚本
$.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""]')
对此:
$('input[name="__RequestVerificationToken"]')
您需要的所有信息都显示在错误消息中。
解决这个问题的是重写我的GetRequestVerificationToken函数,如下所示。
function GetRequestVerificationToken() {
//var token = $('input[name=""__RequestVerificationToken""]').val();
var token = $('[name=__RequestVerificationToken]').val();
var headers = {};
headers['__RequestVerificationToken'] = token;
return headers;
}