Google Recaptcha V3 - 通过 URL 加载验证码时的小部件 ID
Google Recaptcha V3 - Widget Id when loading captcha through URL
我正在我的网站上实施 Recaptcha V3,如果我的请求失败,我找不到合适的方法来重置令牌。
按照文档,要加载验证码,我需要在我的页面上包含以下脚本:
<script src='https://www.google.com/recaptcha/api.js?render=MY_KEY'></script>
我还将验证码令牌绑定到一个字段,以便在客户选择发送电子邮件时在我的后端进行验证:
grecaptcha.ready(function() {
grecaptcha.execute('MY_KEY', {
action : 'homepage'
}).then(function(token) {
$("#recaptcha").val(token);
});
});
所以我主要有两个步骤:
- 验证验证码
- 发送电子邮件
如果在第二步发生错误,我无法找到重置页面上当前验证码的方法,因为它已经通过验证,如果我再次尝试它就不再有效。
我已经尝试了 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);
});
});
}
我正在我的网站上实施 Recaptcha V3,如果我的请求失败,我找不到合适的方法来重置令牌。
按照文档,要加载验证码,我需要在我的页面上包含以下脚本:
<script src='https://www.google.com/recaptcha/api.js?render=MY_KEY'></script>
我还将验证码令牌绑定到一个字段,以便在客户选择发送电子邮件时在我的后端进行验证:
grecaptcha.ready(function() {
grecaptcha.execute('MY_KEY', {
action : 'homepage'
}).then(function(token) {
$("#recaptcha").val(token);
});
});
所以我主要有两个步骤:
- 验证验证码
- 发送电子邮件
如果在第二步发生错误,我无法找到重置页面上当前验证码的方法,因为它已经通过验证,如果我再次尝试它就不再有效。
我已经尝试了 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);
});
});
}