使用ajax的ReCaptcha响应错误
ReCaptcha response error with ajax
我在我的网站上添加了一个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
在谷歌 API js 文件中,当我点击"不正确的验证码-sol"时......它将我重定向到带有以下两行的 JavaScript 文件:
false
incorrect-captcha-sol
我认为,这是应该作为 json 数据发送回客户端的响应,但在这里,我看到它涉及 API js 文件中的 JS 错误。
怎么了?
在这种情况下,您需要使用服务器作为代理来发出此请求,以便:
- 您的私钥是保密的
- 您可以绕过同源策略
该过程将是
Browser -> Your Server -> Google Server -> Your Server -> Browser
相关文章:
- "所请求的名称已经作为不同类型的“”存在;HTTP 409响应错误
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- Json响应错误Json.parse:意外的数据结束错误
- AngularJs-$httpProvider.interceptors多重响应错误
- 使用ajax的ReCaptcha响应错误
- 节点服务器响应错误: process.nextTick(function(){throw err;});.
- 为什么我在使用 .then() 的 AngularJS 工厂中没有得到正确的响应/错误
- 在 MEAN Web 应用程序中,从 Express(服务器端)发送 HTTP 响应错误 403、500,未在 Angu
- E_UNKNOWN beforeCreate 和其他生命周期回调的响应错误
- 处理 HTTPS 文件响应错误
- 防止 Internet Explorer 中的“无响应”错误
- Backbone.sync 获取所有响应错误状态代码
- 如何防止“无响应”错误
- 收集后POST响应错误.插入NodeJS Mongo模块
- 处理来自多个来源的响应错误
- 在角度中,如果服务器响应{错误:'ok'},则$http去捕获
- Express BodyParser响应错误的请求,状态为400
- 发送ajax请求时获取响应错误
- Webdriver/FXDriver utils.js导致脚本无响应'错误
- worldweatheronline API响应错误