Ich versuche, die neueste ReCaptcha (aka "unsichtbar" ReCaptcha) in einem Formular mit jQuery und eine "Ajax" -Anforderung zu implementieren.
ReCaptcha Dokumentation: https://developers.google.com/recaptcha/docs/invisibleInvisible ReCaptcha mit jQuery ajax
Meine Form:
<form id="myForm" >
<input type="email" name="email" /><br />
<input type="password" name="password" /><br/>
<!--<input type="submit" value="log in" />-->
<button class="g-recaptcha" data-sitekey="6LdK..." data-callback="onSubmit">log in</button>
</form>
<div id="status"></div>
Meine Javascript (jQuery):
<script>
function onSubmit(token){
document.getElementById("myForm").submit();
}
$(document).ready(function(){
$("#myForm").submit(function(event){
event.preventDefault();
var datas = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "test.php",
data: datas,
dataType: "json",
beforeSend: function(){
$("#status").html("logging in...");
},
success: function(response){
$("#status").html(response.text);
if(response.type=="success"){
window.location.replace("/myaccount");
}
},
error: function(){
$("#status").html("Failed.");
}
});
});
});
</script>
ReCaptcha erfordert einen "Daten-Rückruf" zu setzen, die ich bin nicht sicher, wie mit meiner bereits bestehenden Funktion ".submit (function (event)" zu binden.
Mein Trick "onSubmit()" hat nicht funktioniert, es ignoriert die "Ajax" und aktualisiert die Seite.
Wie sende ich den "g-recaptcha-response" -Wert innerhalb meiner "datas" -Variablen, um ihn an test.php zu senden?
@ 13h15 Ich habe das exakt gleiche Problem, haben Sie eine Lösung gefunden? – VinZ
@VinZ Ja, es so schnell wie möglich posten – 13h50