我在我的网站上添加了Google ReCaptcha,这是Google提供的HTML表单:
<script type="text/javascript"
src="http://www.google.com/recaptcha/api/challenge?k=my_public_key">
</script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=my_public_key"
height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
</textarea>
<input type="hidden" name="recaptcha_response_field"
value="manual_challenge">
</noscript>
这是我的jQuery(注意POST发送的所有值都是正确的,我已经全部检查过了)
$('#captcha_form_btn').live('click', function () {
var challenge = $('#recaptcha_challenge_field').val();
var response = $('#recaptcha_response_field').val();
var remoteip = $('#remoteip').val();
$.ajax({
url:'http://www.google.com/recaptcha/api/verify',
data:'challenge=' + challenge + '&response=' + response + '&remoteip=' + remoteip + '&privatekey=my_private_key',
type:'post',
dataType:'jsonp',
success: function (data) {
console.log(data);
}
});
});
我正在使用AJAX来验证客户端对ReCaptcha的回答,我发送客户端的ip,响应,质询和我的私钥来获取谷歌API的响应。
然而,收到的API响应有问题(我不知道是否收到),firebug javascript控制台显示一个javascript错误说明:
ReferenceError: incorrect is not defined
incorrect-captcha-sol
在google API js文件中,当我点击“wrong-captcha-sol”时...它会将我重定向到包含以下两行的javascript文件:
false
incorrect-captcha-sol
我认为,这是应该作为json数据发送回客户端的响应,但是在这里,我发现它涉及API js文件中的JS错误。
它出了什么问题?
答案 0 :(得分:1)
在这种情况下,您需要使用服务器作为代理来发出此请求,以便:
该过程将是
Browser -> Your Server -> Google Server -> Your Server -> Browser