Использование AJAX на странице регистрации с nuget reCAPTCHA (v2).Капча отлично работает без AJAX, теперь при отладочном действии VerificationResult имеет значение «нулевой ответ».Как я могу получить этот результат?
Функция Ajax: (значения?)
<script>
function RegisterContact() {
var captcha = {
recaptcha_challenge_field: $("#recaptcha_challenge_field").val(),
recaptcha_response_field: $("#recaptcha_response_field").val(),
recaptcha_response: $("#g-recaptcha-response").val(),
};
var contact = {
...
};
$.post("/Contacts/Create", { contact, captcha })
.done(function () {
})
.fail(function () {
});
}
</script>
Контроллер: (удалено завышение)
RecaptchaVerificationHelper recaptchaHelper = this.GetRecaptchaVerificationHelper();
if (string.IsNullOrEmpty(recaptchaHelper.Response))
{
ModelState.AddModelError("reCAPTCHA", "* reCAPTCHA error.");
return Json(contact, JsonRequestBehavior.AllowGet);
}
else
{
RecaptchaVerificationResult recaptchaResult = recaptchaHelper.VerifyRecaptchaResponse();
if (recaptchaResult != RecaptchaVerificationResult.Success)
{
ModelState.AddModelError("reCAPTCHA", "* reCAPTCHA error.");
return Json(contact, JsonRequestBehavior.AllowGet);
}
}
Отобразите его с помощью @Html.Recaptcha (тема: Recaptcha.Web.RecaptchaTheme.Clean) И ключи находятся в веб-конфигурации.Заранее спасибо.