Ho una pagina di registrazione basata su AJAX che si convalida sia sul client che sul server.Google reCaptcha 2 TypeError: a è nullo dopo aver chiamato grecaptcha.reset
Quando la convalida del lato server non riesce, AJAX restituisce gli errori allo schermo e tenta di reimpostare il recaptcha utilizzando grecaptcha.reset().
La reimpostazione del recaptcha sembra funzionare correttamente e il cliente è in grado di ritoccare la casella "I'm not a robot" e proseguire, tuttavia dopo che il recaptcha è stato ripristinato e l'azione di scorrimento sulla pagina provoca un numero elevato di TypeError: a è null errori javascript in recaptcha_en.js.
TypeError: a is null
https://www.gstatic.com/recaptcha/api2/r20151104115408/recaptcha__en.js
Line 50
Codice (semplificato):
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);
}
}
}
});
Hai mai risolto questo problema? – SeanKendle
Ciò accade ancora con la versione corrente di reCaptcha. –