1

我正在使用 mvc4 c# 并使用 CaptchaMvc 中的表单查看。

我通过 ajax 发送表单数据:

$.ajax({
            url: $('#registerForm').attr("action"),
            type: 'POST',
            contentType: 'application/json',
            dataType: 'json',
            data: JSON.stringify($('#registerForm').serialize()),
            beforeSend: function () {

            },
            success: function (result) {
                //debugger;


            },
            error: function (event, request, settings) {
                //debugger;

            }
        });

我可以在萤火虫上看到“CaptchaInputText”发送到服务器,但我仍然收到错误

[NullReferenceException:对象引用未设置为对象的实例。]
CaptchaMvc.Infrastructure.DefaultCaptchaManager.ValidateCaptcha(ControllerBase 控制器,IParameterContainer parameterContainer) in g:\CodePlex\Captcha\CaptchaMvc(Mvc 3)\Infrastructure\DefaultCaptchaManager.cs:435

如果我有这条线,它就会发生:

[CaptchaMvc.Attributes.CaptchaVerify("Captcha is not valid")] 

在控制器操作上,如果没有,则没有错误,但验证码未得到验证。该怎么办 ?

4

1 回答 1

0

尝试像这样更改您的请求:

$.post($('#registerForm').attr("action"), $('#registerForm').serialize(),
        function(data) {

        }
    );

我已经更新了示例并添加了一个带有 ajax 请求的示例,您可以在此处下载。

于 2013-03-15T17:45:03.553 回答