Asp.net mvc 3 人们如何使用[ValidateAntiForgeryToken]处理到ActionMethods的AJAX帖子
看到使用AJAX时没有发送uu RequestVerificationToken,而是在Request.Form中查找令牌,人们是如何处理这个问题的 最后我做了这个Asp.net mvc 3 人们如何使用[ValidateAntiForgeryToken]处理到ActionMethods的AJAX帖子,asp.net-mvc-3,jquery,Asp.net Mvc 3,Jquery,看到使用AJAX时没有发送uu RequestVerificationToken,而是在Request.Form中查找令牌,人们是如何处理这个问题的 最后我做了这个 $("#regmember-form").submit(function (e) { e.preventDefault(); var token = $('[name="__RequestVerificationToken"]').val(); alert($(this).attr('action'));
$("#regmember-form").submit(function (e) {
e.preventDefault();
var token = $('[name="__RequestVerificationToken"]').val();
alert($(this).attr('action'));
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: { __RequestVerificationToken: token }
});
return false;
});
非常类似。我从页面上抓取输入,并将其与表单post一起发送回去。这假设您首先将其包含在页面上
$('#somebutton').click( function() {
var data = $('[name="__RequestVerificationToken"]').serialize();
$.post('/foo/bar', data, function(result) {
// ...
});
});
我使用的是Ajax.BeginForm,因此我必须获取$(“#theform”)。提交尝试将返回结果。顺便说一句,如果我序列化,它会抱怨。@CrazyCoderz-只要表单中有标记,我认为使用Ajax.BeginForm就行了。当它提交时,应该发送表单中的所有输入。我假设你只是在有限的输入下手动提交。进行序列化时会出现什么错误?