reCAPTCHA Ajax API + пользовательская тема не работает

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

person Felix    schedule 16.03.2010    source источник


Ответы (2)


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

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

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

person Dustin Laine    schedule 16.03.2010
comment
почему я получаю не найден 404? - person themhz; 07.11.2013

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

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

person Felix    schedule 16.03.2010
comment
Отлично, рад, что помог! К вашему сведению, это он :) - person Dustin Laine; 17.03.2010