Я не вижу, где я иду не так, как надо. Я попробовал все, о чем я мог думать, reCAPTCHA просто не работает с Ajax API. Вот то, на что похож мой код:
<!-- this is in <head> -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script>
<script type="text/javascript">
$(document).ready(function() {
Recaptcha.create("my key here", "recaptcha_widget", {
"theme": "custom",
"lang": "en",
"callback": function() { console.log("callback"); } // this doesn't get called
});
});
</script>
<!-- ... this is in <body> -->
<div id="recaptcha_widget" style="display: none">
<div id="recaptcha_image"></div>
<div id="recaptcha_links">
<a href="javascript:Recaptcha.reload()">get another</a> •
<a class="recaptcha_only_if_image" href="javascript:Recaptcha.switch_type('audio')">switch to audio</a>
<a class="recaptcha_only_if_audio" href="javascript:Recaptcha.switch_type('image')">switch to image</a> •
<a href="javascript:Recaptcha.showhelp()">help</a>
</div>
<dt>Type the words</dt>
<dd><input type="text" id="recaptcha_response_field" name="recaptcha_response_field"></dd>
</div>
Извините за повторный ответ на мой вопрос. Нашел проблему, видимо вы не можете использовать reCAPTCHA в локально хранящихся файлах (доступ через file:///
), они должны быть на http://
сайте. Как только я разместил это на localhost, все заработало.
+1 durilai за то, что сообщил мне, что с ним/ней это работает, таким образом я смог взглянуть на проблему с другой стороны.