首页 > 解决方案 > reCaptcha v3 不执行

问题描述

我正在使用以下代码从 ReCaptcha v3 获取令牌。但有时 ReCaptcha 不会调用该signup(token);函数。我应该改变我的 IP 来解决这个问题。

我的代码:

<div id='recaptcha' class="g-recaptcha" data-sitekey="SITE_KEY" data-size="invisible"></div>
<script>
    var TOKEN = null;
    var CAPTCHA_ID;
    var formType = null;
    var onCaptchaLoad = function () {
        CAPTCHA_ID = grecaptcha.render('recaptcha', {
            'sitekey': SITE_KEY,
            'callback': getToken,
            'expired-callback': tokenExpired,
            'size': 'invisible'
        })
    }

    var getToken = function (token) {
            $(document).trigger('token-ready', token);
    };

    var tokenExpired = function () {
            TOKEN = null;
    }

    function callSignUp() {
        grecaptcha.reset(CAPTCHA_ID);
        grecaptcha.execute();
        $(document).off("token-ready");
        $(document).on('token-ready', function (event, token) {
            signup(token);
        })
    }
</script>
<script src="https://www.google.com/recaptcha/api.js?hl=fa&onload=onCaptchaLoad&render=explicit" async defer></script>

标签: javascriptrecaptcharecaptcha-v3

解决方案


看看这个 npm

npm install recaptcha-v3

推荐阅读