当ajaxComplete事件完成时,我的reCaptcha没有重新加载。我有一个控制台错误:“没有reCAPTCHA客户端存在。”那么为什么我的reCAPTCHA客户端在ajaxComplete之后消失了呢?下面是我的示例代码:
$(document).ajaxComplete(function (event, request, settings) { grecaptcha.reset(); });
zf9nrax11#
添加grecaptcha.render('recaptchaId');解决了问题。因此,更新后的代码为:
grecaptcha.render('recaptchaId');
$(document).ajaxComplete(function (event, request, settings) { grecaptcha.render('recaptchaWıdgetId'); });
gdrx4gfi2#
这个问题在异常中已经说得很清楚了,需要在页面上用grecaptcha.render渲染reCaptcha:
grecaptcha.render
var domId = 'recaptchaId'; grecaptcha.render(domId, {"sitekey": "YOUR_CAPTCHA_ID", size: 'invisible'});
在我的例子中,错误来自于简化代码:
if (y[6](57).contains(window.___grecaptcha_cfg.clients[P].Ci)){ Y=P; break a } throw Error("No reCAPTCHA clients exist.");
window.___grecaptcha_cfg.clients是空的直到我修改了顺序:render在execute之前被调用。
window.___grecaptcha_cfg.clients
render
execute
2条答案
按热度按时间zf9nrax11#
添加
grecaptcha.render('recaptchaId');
解决了问题。因此,更新后的代码为:
gdrx4gfi2#
这个问题在异常中已经说得很清楚了,需要在页面上用
grecaptcha.render
渲染reCaptcha:在我的例子中,错误来自于简化代码:
window.___grecaptcha_cfg.clients
是空的直到我修改了顺序:render
在execute
之前被调用。