我看不出我哪里出错了。我已经尝试了我能想到的一切,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>
答案 0 :(得分:6)
适合我吗?怎么了?你想做什么?
当我替换并警告console.log时,它会在每次加载页面或生成新的reCaptcha时改变。完全像它应该的那样。
回调不是您提交验证的地方,如果您正在尝试这样做,请查看此处:http://recaptcha.net/apidocs/captcha/
答案 1 :(得分:2)
很抱歉再次回答我的问题。发现问题,显然你不能在本地存储的文件中使用reCAPTCHA(通过file:///
访问),它们必须位于http://
站点上。我把它放在localhost上就可以了。
+1 durilai让我知道它与他/她合作,这样我就可以从不同的角度看问题。