2015-11-09 29 views
7

Hem istemcide hem de sunucuda geçerli olan AJAX tabanlı bir kayıt sayfam var.Google reCaptcha 2 TypeError: grecaptcha.reset çağrıldıktan sonra null değerindedir

Sunucu tarafı doğrulaması başarısız olduğunda AJAX hataları ekrana döndürür ve grecaptcha.reset() öğesini kullanarak recaptcha'yı sıfırlamaya çalışır.

Recaptcha'nın sıfırlanması iyi çalışıyor ve müşteri "Ben robot değilim" kutusunu geri çekebilir ve devam edebilir, ancak recaptcha sıfırlandıktan ve sayfada kaydırma işlemi büyük miktarda neden olur. TypeError: recaptcha_en.js dosyasında boş bir javascript hatası var.

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

Kodu (basitleştirilmiş):

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

Bunu hiç düzeltdin mi? – SeanKendle

+1

Bu hala reCaptcha'nın geçerli sürümü ile gerçekleşir. –

cevap

0

bir aynı sorun ve ben bu recapthca (ı yeniden olamaz eski sürümü falan yüklemeye çalışıyor olduğunu düşünmek yararlı buldu her şey var ama bende Belirli koşullar altında captcha'nın başka bir sürümü ... ve recaptcha'mın aynı davranışı gösterdiği modal pencereyle ilgili başka bir düşünce.

BTW: yalnızca olay tetikleyici hatalarını spam yapmakla kalmaz, aynı zamanda herhangi bir pencere yeniden boyutlandırma da yapar.

Umarım bunlardan herhangi biri yardımcı olabilir.

+1

Hala bir cevabı arıyorum, bir şey buldunuz mu? – SeanKendle

+0

Bu hala reCaptcha'nın geçerli sürümü ile gerçekleşir. –

+3

Burada aynı sorun, hala yeni görünmez reCAPTCHA ile olur. – Yann39

İlgili konular