2015-11-09 9 views
7

Ich habe eine AJAX-basierte Registrierungsseite, die sowohl auf dem Client als auch auf dem Server gültig ist.Google reCaptcha 2 TypeError: a ist null nach dem Aufruf von grecaptcha.Reset

Wenn die serverseitige Validierung fehlschlägt, gibt der AJAX die Fehler an den Bildschirm zurück und versucht, den recaptcha mit grecaptcha.reset() zurückzusetzen.

Das Zurücksetzen des Recaptchas scheint gut zu funktionieren und der Kunde kann die Box "Ich bin kein Roboter" zurückziehen und weitermachen, nachdem der Recaptcha zurückgesetzt wurde und die Scroll-Aktion auf der Seite eine große Anzahl verursacht TypeError: a ist null JavaScript-Fehler in recaptcha_en.js.

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

-Code (vereinfacht):

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

Haben Sie das jemals geklärt? – SeanKendle

+1

Dies geschieht immer noch mit der aktuellen Version von reCaptcha. –

Antwort

0

Haben Sie ein gleiches Problem und alles, was ich nützlich gefunden, darüber nachzudenken, dass recapthca versucht, alte Version oder etwas (ich reproduzieren kann nicht geladen werden, aber ich habe eine andere Version von Captcha unter bestimmten Umständen) ... und ein anderer Gedanke in Bezug auf Modal-Fenster, wo meine Recaptcha dasselbe Verhalten zeigen.

BTW: nicht nur Scroll-Event-Trigger-Fehler Spamming, sondern auch jede Fenstergrößenänderung.

Ich hoffe, dass all dies helfen kann.

+1

Noch auf der Suche nach einer Antwort, hast du etwas herausgefunden? – SeanKendle

+0

Dies geschieht immer noch mit der aktuellen Version von reCaptcha. –

+3

Das gleiche Problem hier, passiert immer noch mit dem neuen unsichtbaren reCAPTCHA. – Yann39