gpt4 book ai didi

javascript - ajaxSetup beforeSend 仅在第一次单击按钮时被调用

转载 作者:行者123 更新时间:2023-12-03 12:22:12 26 4
gpt4 key购买 nike

我正在使用 ASP.Net MVC 和 jQuery 1.8.2

我有一个带有按钮的表单,单击该按钮时会调用此 javascript:

$(function () {
$('#SearchButton').click(function () {
var data = $('#FilterDefinition :input').serialize() + "&PageNumber=1";
$.post('@Url.Action("Search")', data, LoadContentCallback);
$("#SearchResults").show();
});
});

这会调用返回 PartialViewResult 的 MVC Controller 操作

在布局页面上,我有以下 JavaScript 代码:

//Add a custom header to all AJAX Requests
$(document).ready(function () {
$.ajaxSetup({
beforeSend: function(xhr) {
debugger;
if ($('[name=__RequestVerificationToken]').length) {
var token = $('[name=__RequestVerificationToken]').val();
xhr.setRequestHeader('__RequestVerificationToken', token);
}
}
});
});

第一次点击按钮时,正确调用了beforeSend函数。但是,如果多次单击该按钮(例如,他们更改搜索条件并再次搜索),则 beforeSend 函数永远不会再次被调用,并且验证防伪失败。

我尝试使用 ajaxSend 事件,但得到了相同的结果。

任何帮助解决这个问题的帮助都将不胜感激。

谢谢!

最佳答案

事实证明,问题在于正在渲染的部分 View 引用了不同版本的 jQuery。我删除了此引用,一切开始正常工作。

谢谢!

关于javascript - ajaxSetup beforeSend 仅在第一次单击按钮时被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com