【发布时间】:2014-06-25 20:42:51
【问题描述】:
我正在使用 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 控制器动作
在布局页面上,我有以下 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 事件,但得到了相同的结果。
任何帮助解决这个问题将不胜感激。
谢谢!
【问题讨论】:
-
你用的是什么浏览器?
-
它发生在 Chrome、Firefox 和 IE 中。
标签: javascript jquery asp.net ajax asp.net-mvc