使用jQuery ajax进行隐形ReCaptcha

我正在尝试使用jQuery和“ajax”请求在表单中实现最新的ReCaptcha(又名“隐形”ReCaptcha)。
ReCaptcha文档: https : //developers.google.com/recaptcha/docs/invisible

我的表格:



<!---->

我的javascript(jQuery):

  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."); } }); }); });  

ReCaptcha需要设置“数据回调”,我不知道如何与我已经存在的“.submit(function(event)”函数绑定。
我的“onSubmit()”技巧不起作用,它忽略了“ajax”并刷新了页面。

如何在“datas”变量中发送“g-recaptcha-response”值将其发送到test.php?

所以这里是我在Invisible reCAPTCHA的文档中进一步挖掘之后如何解决它,并且明显学习了一些jQuery,因为我不熟悉JS(很酷的东西):

我的头标记有javascript(和一些css删除丑陋的Google徽章):

     

HTML:

 



如果你需要整个PHP,请告诉我,因为它超出了这个问题的范围。 您可能需要在JS中更改“url:location.href”,因为在我的情况下,呈现HTML表单和JS以及处理POST变量的脚本是相同的(不是很好,测试目的)。 基本上我只是validationPOST变量,然后最终返回一个json,如:

 $jsonVictoire = true; // boolean $jsonMessage = 'anything you want to tell your visitor'; // string $return = json_encode( array( 'Victoire'=>$jsonVictoire, 'Message'=>$jsonMessage ) ); die($return); 
  

在test.php中,您需要validation服务器端的validation码: