ReCAPTCHA无法找到用户提供的功能:myCallBack

时间:2017-06-15 12:28:25

标签: jquery recaptcha

我尝试使用ReCAPTCHA,因为我遇到了错误。

  

ReCAPTCHA无法找到用户提供的功能:myCallBack。

我该如何解决这个问题?

var verifyCallback3 = function(response) {
    if(response!=null){
        $("#rss").show();
    }
};

var myCallBack = function() {
    grecaptcha.render('html_element', {
        'sitekey' : '6sssfffffffffAAPfEI_RkbAlUuw5FA4p-kiGy5Nea',
        'callback' : verifyCallback3,
        'theme' : 'light',
        'type':'image'
    });
};

4 个答案:

答案 0 :(得分:7)

在你的recaptcha div中,确保不要在数据回调中使用括号。

data-callback="yourCallback"类似,而不是data-callback="yourCallback();"

答案 1 :(得分:3)

同样的事情发生在我身上。我仔细检查了我的代码,一切都很好,但验证码没有显示,在控制台中消息是“ReCAPTCHA找不到用户提供的功能:myCallBack”但最后我发现我的JavaScript代码是页面加载功能。我只是从页面加载功能及其工作中推出它。

答案 2 :(得分:3)

你必须把你的脚本功能:

<script> function registerFormCheck()</script>

在google脚本之前是这样的:

/* First */    <script> function registerFormCheck(){} </script>
/* Second */   <script> src='https://www.google.com/recaptcha/api.js'></script>

这对我有用......

答案 3 :(得分:0)

该函数某处或javascript某处可能存在错误,导致该函数未注册,对我来说这是一个逗号缺失。根据您的猜测,我猜想它与'html_element'或未分配的widgetID有关。试试:

var myCallBack = function() {
    var widgetID;
    widgetID = grecaptcha.render(document.getElementById('html_element'), {
        'sitekey' : '6sssfffffffffAAPfEI_RkbAlUuw5FA4p-kiGy5Nea',
        'callback' : verifyCallback3,
        'theme' : 'light',
        'type':'image'
    });
};