Sto utilizzando ASP.Net MVC e sto tentando di implementare un oggetto Google reCaptcha in una pagina.ASP.Net MVC Recaptcha Jquery Problema Ajax
Sto cercando di evitare l'uso di modelli nelle mie forme e voglio chiamare direttamente un metodo usando jquery ajax.
Ho il captcha da visualizzare, ma qualunque cosa entri appare come null quando si ispeziona l'oggetto RecaptchaVerificationHelper nel debugger.
Qualsiasi suggerimento per mantenerlo leggero come l'ho, ma farlo funzionare.
Nota: la maggior parte della logica è stata rimossa qui, solo cercando di far funzionare la logica captcha.
CSHTML Esempio:
@using Recaptcha.Web.Mvc;
<script type="text/javascript">
function createUser() {
$.ajax({
type: "POST",
url: 'CreateUser',
contentType: "application/json; charset=utf-8",
success: function (response) {
if (response.Success == true) {
alert("success");
//redirectSuccess();
} else {
alert("failed");
}
},
error: function (err) {
commonError(err);
}
});
}
</script>
@Html.Recaptcha(publicKey: "6LdxcPgSAA...", theme: Recaptcha.Web.RecaptchaTheme.Clean);
<br />
<input type="button" value="Submit" onclick="createUser();" style="margin-right:300px;" />
CS codice del server di esempio:
public ActionResult User()
{
return View();
}
public JsonResult CreateUser()
{
Wrapper.ValidationResponse response = new Wrapper.ValidationResponse();
response.Success = true;
RecaptchaVerificationHelper recaptchaHelper = this.GetRecaptchaVerificationHelper();
if (String.IsNullOrEmpty(recaptchaHelper.Response))
{
response.Success = false;
}
RecaptchaVerificationResult recaptchaResult = recaptchaHelper.VerifyRecaptchaResponse();
if (recaptchaResult != RecaptchaVerificationResult.Success)
{
response.Success = false;
}
try
{
//removed logic
return Json(response);
}
catch (Exception ex)
{
response.Success = false;
response.Message = "Failed to create new user. Please contact us if the issue persists.";
return Json(response);
}
}
Grazie in anticipo,
NuGet ** Google reCAPTCHA V2 ** per MVC 4 e 5 - [NuGet Package] (https: //www.nuget. org/packages/reCAPTCH.MVC /) - [Demo e documento] (http://recaptchamvc.apphb.com/) – Sender