我正在尝试使用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'
});
};
Run Code Online (Sandbox Code Playgroud)
Joh*_*ann 15
确保在全局范围内定义回调函数.出于某种原因,在生产中我的函数不在此命名空间中.
此外:
function myCallback() { ... }
Run Code Online (Sandbox Code Playgroud)
确保直接将其分配到全局空间:
window.myCallback = myCallback;
Run Code Online (Sandbox Code Playgroud)
你应该能够测试这是否是你的问题,我在Javascript控制台输入函数名称,看看它是否已定义.
Hus*_*bir 10
同样的事情发生在我身上。我仔细检查了我的代码,一切都很好,但没有显示验证码,控制台中的消息是“ReCAPTCHA 找不到用户提供的函数:myCallBack”但最后我发现我的 JavaScript 代码是在页面加载功能中。我只是从页面加载功能和它的工作中取出它。
小智 8
你必须把你的脚本函数:
<script> function registerFormCheck()</script>
Run Code Online (Sandbox Code Playgroud)
在谷歌脚本之前是这样的:
/* First */ <script> function registerFormCheck(){} </script>
/* Second */ <script src='https://www.google.com/recaptcha/api.js'></script>
Run Code Online (Sandbox Code Playgroud)
这对我有用...
在您的recaptcha div中,请确保在数据回调中不要使用括号。
像这样data-callback="yourCallback",而不是data-callback="yourCallback();"