Google Recaptcha V3-通过URL加载captcha时的Widget Id



我正在我的站点上实现Recaptcha V3,如果我的请求失败,我找不到重置令牌的正确方法。

根据文档,要加载摘要,我需要在页面上包含以下脚本:

<script src='https://www.google.com/recaptcha/api.js?render=MY_KEY'></script>

此外,我将captcha令牌绑定到一个字段,以便在客户选择发送电子邮件时在我的后端进行验证:

grecaptcha.ready(function() {
grecaptcha.execute('MY_KEY', {
action : 'homepage'
}).then(function(token) {
$("#recaptcha").val(token);
});
});

所以我主要有两个步骤:

  1. 验证captcha
  2. 发送电子邮件

如果在第二步中出现一些错误,我无法找到重置页面上当前captcha的方法,因为如果我重试,它已经被验证,不再有效。

我尝试了grecaptcha.reset(),但没有widgetId,会出现以下消息:Uncaught Error: No reCAPTCHA clients exist.

通过脚本进行渲染时,如何获取小部件id?

正如我从Recaptcha V3中了解到的,您必须再次调用execute试着像这个一样

let createNewToken = () => {
grecaptcha.ready(function() {                   
grecaptcha.execute('code', {action: 'homepage'}).then(function(token) {
console.log(token);
});
});        
}

最新更新