キャプチャ入力からのユーザーの応答をテストしようとしています。ユーザーが間違った応答を入力すると、このコードは機能してエラーメッセージを吐き出しますが、ユーザーが正しい応答を入力しても成功メッセージは返されません。実際、応答は空です。私はこれで数日間遊んでいますが、ここで何が起こっているのかわかりません。実際、この構造をアプリの他の部分で使用していて、問題なく動作しています。何が起こっているのか考えてみませんか?
if ($recaptcha_response_field !== '') {
require_once('recaptchalib.php');
$privatekey = "removed_this_duh...";
$resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"],
$recaptcha_challenge_field, $recaptcha_response_field);
if (!$resp->is_valid) {
$entry_display = 'Sorry, I know this sucks...
but your entry was invalid, please try again.';
} else {
$entry_display = 'success';
}
return $entry_display;
クライアント側のajaxビジネスは次のとおりです。
function(data) {
if (data == 'success') {
alert('success');
$('#mask').hide();
$('#modal_container').hide();
} else {
alert(data);
$('#captcha_error_area').empty().append(data);
javascript:Recaptcha.reload();
}
成功すると、これが私がテストしているオブジェクトです。
Failure:
ReCaptchaResponse Object ( [is_valid] => [error] => incorrect-captcha-sol )
Success:
ReCaptchaResponse Object
(
[is_valid] => 1
[error] =>
)