jquery ajaxComplete后重新加载验证码

cbeh67ev  于 2023-02-03  发布在  jQuery
关注(0)|答案(2)|浏览(139)

当ajaxComplete事件完成时,我的reCaptcha没有重新加载。
我有一个控制台错误:“没有reCAPTCHA客户端存在。”那么为什么我的reCAPTCHA客户端在ajaxComplete之后消失了呢?
下面是我的示例代码:

$(document).ajaxComplete(function (event, request, settings) {
         grecaptcha.reset(); });
zf9nrax1

zf9nrax11#

添加grecaptcha.render('recaptchaId');解决了问题。
因此,更新后的代码为:

$(document).ajaxComplete(function (event, request, settings) {
         grecaptcha.render('recaptchaWıdgetId'); });
gdrx4gfi

gdrx4gfi2#

这个问题在异常中已经说得很清楚了,需要在页面上用grecaptcha.render渲染reCaptcha:

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是空的直到我修改了顺序:renderexecute之前被调用。

相关问题