Asp.net mvc 3 人们如何使用[ValidateAntiForgeryToken]处理到ActionMethods的AJAX帖子

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'));

看到使用AJAX时没有发送uu RequestVerificationToken,而是在Request.Form中查找令牌,人们是如何处理这个问题的

最后我做了这个

$("#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就行了。当它提交时,应该发送表单中的所有输入。我假设你只是在有限的输入下手动提交。进行序列化时会出现什么错误?