javascript – Google reCaptcha 2 TypeError:调用grecaptcha.reset后a为null

前端之家收集整理的这篇文章主要介绍了javascript – Google reCaptcha 2 TypeError:调用grecaptcha.reset后a为null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个基于 AJAX注册页面,可以在客户端和服务器上进行验证.

当服务器端验证失败时,AJAX将错误返回到屏幕并尝试使用grecaptcha.reset()重置recaptcha.

重置recaptcha似乎工作正常,客户能够重新调用“我不是一个机器人”框并继续,但重新重新调用后,页面上的滚动操作导致大量的TypeError:a是recaptcha_en.js中的null javascript错误.

TypeError: a is null
https://www.gstatic.com/recaptcha/api2/r20151104115408/recaptcha__en.js
Line 50

代码(简化):

var recaptcha1;
var onRecaptchaLoad = function () {
    recaptcha1 = grecaptcha.render('gRecaptcha',{
        'sitekey': 'my site key','callback': CaptchaResponse
    });
};

$.ajax({
type: "POST",url: "SaveDetails",contentType: "application/json; charset=utf-8",dataType: "json",data: data,cache: false,success: function (result) {
    if (result != null) {
        if (result.d.Success) {
            //success
        }else{             
            grecaptcha.reset(recaptcha1);
        }
     }
}
});

解决方法

有一个相同的问题,我发现有用的一切是recapthca试图加载旧版本或东西(我不能重现但我在某些情况下得到另一个版本的验证码)…和另一个与模态窗口有关的想法我的recaptcha显示相同的行为.

顺便说一句:不仅滚动事件触发器错误垃圾邮件,而且任何窗口也重新调整大小.

我希望这一切都有所帮助.

猜你在找的JavaScript相关文章