新的ReCaptcha(不可见)不工作

新的ReCaptcha(不可见)不工作,recaptcha,invisible-recaptcha,Recaptcha,Invisible Recaptcha,我正在尝试实现新的隐形reCaptcha,但它不起作用 首先,我使用“不可见”选项创建了一个新密钥,在我的应用程序中更改了密钥,当我在控制台中查看时,我可以看到此请求: api2/anchor?k= 我认为这不是正确的api,对吗 导入部件的代码如下所示: 这是正确的根据文件 其次,我选择将验证码放在div中(根据文档,这是可以的): 我还使用render函数声明回调和站点键: grecaptcha.render(document.getElementById('captchaSignup'

我正在尝试实现新的隐形reCaptcha,但它不起作用

首先,我使用“不可见”选项创建了一个新密钥,在我的应用程序中更改了密钥,当我在控制台中查看时,我可以看到此请求:

api2/anchor?k=

我认为这不是正确的api,对吗

导入部件的代码如下所示:

这是正确的根据文件

其次,我选择将验证码放在div中(根据文档,这是可以的):

我还使用render函数声明回调和站点键:

grecaptcha.render(document.getElementById('captchaSignup'){
“sitekey”:“…”,
“回调”:函数(响应){$rs.validCaptcha=response;$s.$apply()}
});

这可以作为验证码解决方案,但不能作为不可见的解决方案,因为它仍然显示方框。我知道我还必须使用execute函数,但由于我仍然看到这个框,我想我还没有到那个阶段。。有人能帮我吗?

在“不可见”的recaptcha情况下,
grecaptcha.render()
api采用名为
inherit
的可选第三个布尔参数,默认值为
false
。如果将其值指定为
true
,则只有当
.g-recaptcha
元素上的现有数据-*属性用于
render()
选项中未指定的参数时,recaptcha才会将其视为缺少参数

由于您没有使用
true
值传递此参数,因此它不会读取HTML元素上的
data size=“invisible”
值,从而将其呈现为可见的recaptcha

试试这个:

grecaptcha.render(document.getElementById('captchaSignup'), {
                    'sitekey' : '...',
                    'callback' : function(response) { ... }
                  }, true);       // <-- this is the change. Pass "true" here
grecaptcha.render(document.getElementById('captchaSignup'){
“sitekey”:“…”,
“回调”:函数(响应){…}
},对)//