ReCAPTCHA找不到用户提供的function:myCallBack

我正在尝试使用ReCAPTCHA,因为我遇到了以下错误。

ReCAPTCHA找不到用户提供的function: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' }); }; 

确保在全局范围内定义回调函数。 出于某种原因,在生产中我的函数不在此命名空间中。

此外:

 function myCallback() { ... } 

确保直接将其分配到全局空间:

 window.myCallback = myCallback; 

你应该能够测试这是否是你的问题,我在Javascript控制台输入函数名称,看看它是否已定义。

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

就像data-callback="yourCallback" ,而不是data-callback="yourCallback();"

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

你必须把你的脚本function:

  

谷歌脚本之前是这样的:

 /* First */  /* Second */  

这对我有用……