2015-11-09 23 views
7

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); 
     } 
    } 
} 
}); 
+0

Hai mai risolto questo problema? – SeanKendle

+1

Ciò accade ancora con la versione corrente di reCaptcha. –

risposta

0

Avere uno stesso problema e tutto quello che ho trovato utile pensare è che recapthca sta tentando di caricare vecchia versione o qualcosa del genere (non riesco a riprodurre, ma ho avuto un'altra versione di captcha in determinate circostanze) ... e un altro pensiero relativo alla finestra modale in cui il mio recaptcha mostra lo stesso comportamento.

BTW: non solo scorre lo spamming degli errori di trigger degli eventi, ma anche qualsiasi ridimensionamento delle finestre.

Spero che tutto ciò possa essere d'aiuto.

+1

Ancora cercando una risposta a questo, hai trovato qualcosa? – SeanKendle

+0

Ciò accade ancora con la versione corrente di reCaptcha. –

+3

Lo stesso problema qui, si verifica ancora con il nuovo reCAPTCHA invisibile. – Yann39