我有一个基于
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); } } } });