我想通过 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;
}
});
});
});
我的问题是,如何将验证码数据传输到我的 ActionResult。
@ReCaptcha.GetHtml(publicKey: "publicKey")
这是我的 ActionResult:
[HttpPost]
public ActionResult CheckForm(???)
{
if (ReCaptcha.Validate(privateKey: "privateKey"))
{
}
return Json();
}
有人知道如何使用 Ajax 检查验证码吗?
使用 PHP 很容易...您可以使用函数检查数据(“recaptchalib.php”中的“recaptcha_check_answer”)
TIA!
最佳答案
尝试订阅表单的提交事件以对其进行 AJAX 化:
$(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;
});
});
关于c# - MVC3 : How to check recaptcha with Ajax or directly with JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983652/