То есть, если я проверяю ввод первого клиента и он в порядке, то вторая проверка того же ввода всегда ложная... Почему так?
Мне очень нужна возможность проверить его дважды (один раз для проверки на стороне клиента, а второй для проверки на стороне сервера)
Заранее спасибо!!!
EDIT
Уточнение:
Если пользователь ввел данные нормально и recaptcha возвращает true (я делаю это через ajax на моем сервере, который посылает запрос на сервер recaptcha), то форма отправляется и посылает через POST также 2 переменные: recaptcha_challenge_field
значение и recaptcha_response_field
значение (которое уже было проверено) и затем мой сервер просит сервер recaptcha снова проверить эти два значения, чтобы сделать проверку на стороне сервера.
Код Jquery:
$("#form_id").find("button").click(function(){
var c = $("#recaptcha_challenge_field").val(),
r = $("#recaptcha_response_field").val();
$.ajax({
url: "/ajax/captcha?challenge=" + c + "&response=" + r,
dataType: "json",
success: function(data){
if(data['is_valid']){
$.ajax({
url: "/ajax/captcha?challenge=" + c + "&response=" + r,
dataType: "json",
success: function(data){
if(data['is_valid']){
alert('OK');
}else{
alert('FAILED');
}
}
});
}else{
Recaptcha.reload();
}
}
});
return false;
});
Итак, как вы можете видеть, есть две абсолютно одинаковые операции с разным результатом (предупреждает только FAILED
).