2015-06-23 17 views
5

मैं इस ट्यूटोरियल में reCAPTCHA लागू,गूगल reCAPTCHA दूसरी बार असफल प्रस्तुत

https://codeforgeek.com/2014/12/google-recaptcha-tutorial/

जो पहली बार प्रस्तुत के लिए अच्छी तरह से काम करते हैं। मेरी समस्याएं हैं:

  1. मैं कैप्चा को अन्य फॉर्म डेटा के साथ भेजता हूं उदा। उपयोगकर्ता नाम, ईमेल इत्यादि .... तो यदि कैप्चा सही है लेकिन अन्य नहीं, तो उपयोगकर्ता इसे फिर से भेज देगा, लेकिन दूसरी बार यह "{" सफलता ": झूठी}"

  2. अगर मैं इसे निष्क्रिय करता हूं ~ 2 मिनट है, यह सत्र समाप्त हो जाएगा और यह चेतावनी और "ताज़ा नहीं कर सकते हैं: अमान्य पैरामीटर" कुछ चेतावनी पॉप अप अगर मैं बॉक्स का चयन करें, और मैं बॉक्स का चयन नहीं कर सकते हैं फिर से

कैसे उन समस्या को ठीक करने ? बहुत बहुत धन्यवाद।

उत्तर

8

Google reCAPTCHA यह दो कार्य देता है: मैं हमेशा इसे अपने सभी AJAX संचालित रूपों में उपयोग करता हूं।

grecaptcha.getResponse()

grecaptcha.reset();

जब भी आपको अपने जावा स्क्रिप्ट कोड में आवश्यकता होती है तो आपकी दोनों समस्याएं दूसरी फ़ंक्शन का उपयोग करती हैं।

यदि आपके पृष्ठ में केवल एक कैप्चा है तो यह काम याद रखें। आप दो से अधिक है, तो कैप्चा उनके आईडी के रूप में गूगल डॉक्स में समझाया का उपयोग

https://developers.google.com/recaptcha/docs/display#js_api

+0

धन्यवाद। इसने इस मुद्दे को ठीक किया। –

0

जो लोग एक ही समस्या है और शोध के दौरान इस विषय को पूरा; यदि आप स्वचालित रूप से कैप्चा प्रस्तुत करते समय समस्या का अनुभव करते हैं, तो इसे स्पष्ट रूप से प्रस्तुत करने का प्रयास करें। ऐसा करने के लिए, बॉडी टैग के अंदर निम्नलिखित कोड जोड़ें।

<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit&hl=tr" async defer></script> 
  1.      var recaptchaCallback = function() { 
              // alert("grecaptcha is ready!"); 
              grecaptcha.render("YOUR HTML DIV ID", { 
             'sitekey': 'YOUR SITE KEY', 
              }); 
             }; 
    
  2. मैं पंजीकरण फार्म की जाँच करें और प्रतिक्रिया प्राप्त करने के लिए AJAX का उपयोग कर रहा हूँ। इसलिए मैंने अपने AJAX प्रतिक्रिया में रीसेट फ़ंक्शन जोड़ा है।

    $('#frmRegistration').submit(function() { $.ajax({ url: "_ajax/_ajaxRegistration.php", type: "POST", data: $('#frmRegistration').serialize(), success: function (reply) { $('#resultRegistration').html(reply); grecaptcha.reset(); } }); });

संदर्भ Google reCaptcha explicit render

संबंधित मुद्दे