jQuery

2009-02-12 1 views
8

मैं एक रीकैप्चा jQuery का उपयोग कर सत्यापित करने के लिए कोशिश कर रहा हूँ, लेकिन मैं मुझे बता एक त्रुटि मिलती रहती है साथ reCAPTCHA सत्यापन किया जा रहा: प्रतिबंधित यूआरआई पर पहुंच अस्वीकृत "कोड:" 1012jQuery

यह वही है मैं अब तक की कोशिश की है है :

var challengeVal = $("#recaptcha_challenge_field").attr("value"); 
var reponseVal = $("#recaptcha_response_field").attr("value"); 
var remoteIp = <%= "'" + Request.ServerVariables["REMOTE_HOST"] + "'" %> 
var privateKey = 'MY_PRIVATE_KEY'; 

var requestUrl = "http://api-verify.recaptcha.net/verify?privatekey=" + privateKey + "&remoteip=" + remoteIp + "&challenge=" + challengeVal + "&response=" + reponseVal; 

$.ajax({ 
    type: "POST", 
    url: requestUrl, 
    dataType: "json", 
    success: function(data) { 
     alert('response from recaptcha'); 
    }, 
    error: function() { 
     alert("An error occured."); 
    } 
    }); 

किसी ने भी कोशिश की, जो मुझे सही दिशा में इंगित कर सकता है?

धन्यवाद।

उत्तर

16

सुरक्षा कारणों से क्रॉस-डोमेन XMLHttpRequests बनाने से जावास्क्रिप्ट प्रतिबंधित है। workarounds हैं, लेकिन वे केवल तभी काम करते हैं जब आप दोनों डोमेन नियंत्रित करते हैं।

समाधान: अपने सर्वर पर एक AJAX- कॉल करें, और सर्वर साइड कोड के माध्यम से रिकैप्चा से संपर्क करें।

1

this page से एक पूर्ण डेमो पाया और डाउनलोड किया जा सकता है। लेकिन आपको अभी भी अपने डोमेन के लिए सार्वजनिक और निजी कुंजी बनाने की आवश्यकता है https://www.google.com/recaptcha/admin/create

0

@Magnar पहले से ही सुरक्षा कारणों से w/सम्मान का उत्तर दिया है। @ गुइडो लेमेन्स 2 ने एक PHP उदाहरण दिया। मैं कुछ एएसपी.NET वेबफॉर्म (बनाम एमवीसी) कोड को दूसरे स्टैक question से जोड़ना चाहता था।

3

मैं देखता हूं ->racaptcha docs AJAX जावास्क्रिप्ट में एक पूर्ण उदाहरण है।