reCAPTCHA Ajax API + пользовательская тема не работает - PullRequest
8 голосов
/ 17 марта 2010

Я не вижу, где я иду не так.Я перепробовал все, что мог придумать, 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> &bull;
        <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> &bull;
        <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>

Ответы [ 2 ]

6 голосов
/ 17 марта 2010

у меня работает? Что происходит? Что ты пытаешься сделать?

Когда я подставляю console.log и предупреждаю его, он изменяется каждый раз, когда загружается страница или генерируется новая reCaptcha. Точно так же, как это должно быть.

Обратный вызов не там, где вы отправляете его для проверки, если вы пытаетесь это сделать, посмотрите здесь: http://recaptcha.net/apidocs/captcha/

2 голосов
/ 17 марта 2010

Извините, что снова ответил на мой вопрос. Обнаружил проблему, очевидно, вы не можете использовать reCAPTCHA в локально сохраненных файлах (доступ к которым осуществляется через file:///), они должны быть на сайте http://. Как только я поместил это на localhost, все заработало.

+ 1 дурилай за то, что дал мне знать, что это работает с ним, так что я смог взглянуть на проблему с другой стороны.

...