所以我成功地添加了不可见的recaptcha,但我很好奇如果我在调用grecaptcha.execute((时以正确的方式做了,其他人会怎么想
我在执行这样的显式调用后立即调用 grecaptcha.execute((
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback473&render=explicit"
async defer>
<script type="text/javascript">
var onloadCallback473 = function() {
widgetId_473 = grecaptcha.render('recaptcha_473', {
'sitekey' : 'MY KEY XXXXXXXXXXX',
'size' : 'invisible',
'badge' : 'inline', });
grecaptcha.execute(widgetId_473);
};
</script>
由于异步延迟,表单位于此下方
现在,当用户通过 AJAX 提交表单时,我有这样处理它的代码
'success': function(response) {
if (response.success) {
}
else {
//validation error
//Like blank fields, incorrect email requirements... etc
grecaptcha.reset(widgetId_473);
grecaptcha.execute(widgetId_473);
}
我的问题是"可以调用函数 grecaptcha.execute(( 两次吗?
就像点击提交按钮之前和错误部分之后一样?
从广义上讲,我在表单提交后立即调用 .execute((,并将 ReCAPTCHA 字符串密钥与表单数据一起发送,以便后端可以有效地调用 google API 并在继续任何进一步的逻辑之前验证 ReCAPTCHA 密钥。