reCaptcha Ajax的问题

我正在实现reCaptcha,我正在使用Ajax调用我的PHP页面来检查validation码的有效性,而无需刷新页面。

我有这个jQuery代码:

$.post('php/captcha.php', $('#captchaPost').serialize(), function(data){ if(data != "Valid") { $('#captchaError').show(); $captchaFlag = "Invalid"; } else { $('#captchaError').hide(); $captchaFlag = "Valid"; } }); 

这个post处理程序的PHP代码:

 is_valid) { // What happens when the CAPTCHA was entered incorrectly echo "Error"; } else { echo "Valid"; } ?> 

我使用Firebug检查了响应,并且PHP脚本总是返回“Error”,即使我输入正确的Captcha。 根据服务器,表单似乎正确POST,虽然我没有看到如何检查表单中发布的内容。 我没有使用PHP函数来构建reCaptcha表单; 我从谷歌的文档中得到了HTML。 有帮助吗?

尝试使用此代码:

 function validateCaptcha() { challengeField = $("input#recaptcha_challenge_field").val(); responseField = $("input#recaptcha_response_field").val(); var html = $.ajax({ type: "POST", url: "php/captcha.php", data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField, async: false }).responseText; if(html != "Valid") { $('#captchaError').show(); $captchaFlag = "Invalid"; } else { $('#captchaError').hide(); $captchaFlag = "Valid"; } } 

它看起来不像是在jQuery中正确发送数据。

编辑还要确保在按钮上调用validateCaptcha()。 例如:

 onSubmit="javascript:validateCaptcha()"