仅限Ajax和Google Recaptcha V3

时间:2019-05-04 18:07:23

标签: jquery ajax recaptcha

我想使用Jquery和ajax提交数据并做一些事情。

尝试使用Google Recaptcha V3。在下面的代码中,在警报行(“令牌2为” +“ Mytoken”); --->在这里我得到一个错误,说未定义Mytoken

问题是如何获取grecaptcha.execute以返回可在其他地方使用的数据?例如,如果验证码有效,那么我使用令牌代码提交一些ajax数据,并在提交的后端脚本上验证令牌。

<html>
        <head>
            <title>Recaptcha Ajax</title>
            <script src="https://www.google.com/recaptcha/api.js?render=<?php echo $captcha_site_key; ?>"></script>
        </head>
        <body>



          <script>
          var MYtoken;
          grecaptcha.ready(function() {
              grecaptcha.execute('<?php echo $captcha_site_key; ?>', {action: 'test_page'}).then(function(token) {
                //$("#pet_token").val(token);
                //$('myform').prepend('<input type="hidden" name="recaptchaTOKEN" value="' + token + '">'); 


                alert ("token is " + token);
                alert ("and Mytoken is " + token);
              });
          });
        for (var i = 1; i <= 5; i++) {
            var tick = function(i) {
                return function() {
                    console.log(i);
                }
            };
            setTimeout(tick(i), 1000 * i);
        }
                alert ("token 2 is " + Mytoken);
          </script>

1 个答案:

答案 0 :(得分:0)

我想通了...无论我是否在Ajax中提交了一些数据,重要的是接收到的数据都经过了验证码的验证

所以... ajax只需在隐藏字段中设置值,然后在后端页面上,我就进行验证码验证

Google Recaptcha v3 example demo