Ich benutze ASP.Net MVC zu und versuche, ein Google ReCaptcha Objekt in eine Seite zu implementieren.ASP.Net MVC Recaptcha Jquery Ajax Problem
Ich versuche, die Verwendung von Modellen in meinen Formularen zu vermeiden, und möchte direkt eine Methode aufrufen, die jquery ajax verwendet.
Ich habe das Captcha zu erscheinen, aber was auch immer ich eingeben erscheint als Null beim Inspizieren der RecaptchaVerificationHelper Objekt im Debugger.
Irgendwelche Vorschläge, um es leicht zu halten, wie ich es habe, aber es funktioniert.
Hinweis: Der Großteil der Logik wurde hier entfernt, nur um die Captcha-Logik zu erhalten.
CSHTML Probe:
@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 Server-Code-Beispiel:
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);
}
}
Vielen Dank im Voraus,
NuGet ** Google reCAPTCHA V2 ** für MVC 4 und 5 - [NuGet Package] (https: //www.nuget. org/packages/reCAPTCH.MVC /) - [Demo und Dokument] (http://recaptchamvc.apphb.com/) – Sender