MVC3:如何使用Ajax或直接使用JS检查Recaptcha? - c#

我想通过Ajax检查recaptcha控件。

$(document).ready(function () {
    $('#submit').click(function () {
        $.ajax({
            url: '/Competition/CheckForm',
            type: "POST",
            data: ????,
            success: function (data) {
                alert(data);
                return false;
            },
            error: function (jqXhr, textStatus, errorThrown) {
                alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
                return false;
            }
        });
    });
});

我的问题是,如何将Recaptcha数据传输到ActionResult。

@ReCaptcha.GetHtml(publicKey: "publicKey")

这是我的ActionResult:

[HttpPost]
public ActionResult CheckForm(???)
{
    if (ReCaptcha.Validate(privateKey: "privateKey"))
    {
    }
    return Json();
}

任何人都有一个主意,我怎样才能用Ajax检查Recaptcha?

使用PHP很容易...您可以使用函数检查数据(“ recaptchalib.php”中的“ recaptcha_check_answer”)

TIA!

c#参考方案

尝试订阅表单的Submit事件,以对其进行AJAXify:

$(document).ready(function () {
    $('#myForm').submit(function () {
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (data) {
                alert(data);
            },
            error: function (jqXhr, textStatus, errorThrown) {
                alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
            }
        });
        return false;
    });
});

但是,如果您想在单击某个元素(而不是其提交按钮)时单击AJAX来提交给定表单,则还可以执行以下操作:

$(document).ready(function () {
    $('#someButton').submit(function () {
        var myForm = $('#myForm');
        $.ajax({
            url: myForm.attr('action'),
            type: myForm.attr('method'),
            data: myForm.serialize(),
            success: function (data) {
                alert(data);
            },
            error: function (jqXhr, textStatus, errorThrown) {
                alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
            }
        });
        return false;
    });
});

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

T-SQL等价的正则表达式'\ b' - c#

我正在将利用regex的CLR函数转换为SQL函数。我知道SQL Server并不完全支持正则表达式,但是我只需要一种情况就可以搜索单词。搜索字段值:{"Id":1234, "Title": "The quick brown"}.NET中的正则表达式模式:'\b' + '…

AJAX-每当调用AJAX脚本时,JavaScript就会中断 - javascript

我雇用了一名开发人员来帮助完成某些工作,他主要专注于PHP,并尝试了这种javascript。每当以下AJAX脚本将HTML重新加载到DOM中时,它都会中断页面​​。它通过Codenigniter调用了一个函数以重新加载页面中的view。一旦发生这种情况,所有的javascript将不再起作用。我似乎找不到能帮助解决此问题的解决方案。请帮忙。注意:理想情况下…

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…

jQuery DataTable TableTool在IE和Firefox中不起作用 - c#

我在MVC4 ASP.NET Web应用程序中使用Jquery DataTable TableTool。导出到Excel和PDF可以与Chrome完美配合。但是不能在IE和FireFox中使用。我的代码如下 dom: 'T<"clear">lfrtip', tableTools: { "sSwfP…