8

どこが間違っているのかわかりません。考えられることはすべて試しましたが、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>
4

2 に答える 2

6

私のために働きますか?何が起こっている?あなたは何をしようとしているのですか?

console.log を代用して警告すると、ページが読み込まれるたびに変更されるか、新しい reCaptcha が生成されます。まさにそれが想定されているように。

コールバックは、検証のために送信する場所ではありません。それが目的の場合は、http: //recaptcha.net/apidocs/captcha/を参照してください。

于 2010-03-16T21:17:54.010 に答える
2

私の質問に再び答えてすみません。問題が見つかりました。明らかに、ローカルに保存されたファイル (経由でアクセス) で reCAPTCHA を使用することはできません。file:///それらはhttp://サイト上にある必要があります。これをlocalhostに置くとすぐに機能しました。

それが彼/彼女とうまくいくことを私に知らせてくれた+1デュリライ。このようにして、私は問題を別の視点から見ることができました。

于 2010-03-16T21:29:26.603 に答える