reCAPTCHA:为什么我不能两次检查相同的结果?

Vit*_*mar 8 captcha recaptcha

我的意思是,如果我检查第一个客户端输入,并且它是正常的,相同输入的第二次检查总是假的...为什么?

我真的需要能够检查两次(一个用于客户端验证,第二个用于服务器端验证)

提前致谢!!!

编辑

澄清:

如果用户输入正常并且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;
});
Run Code Online (Sandbox Code Playgroud)

因此,正如您所看到的,有两个绝对相同的操作具有不同的结果(仅警报FAILED).

Bar*_*man 6

因为它存储在提交结果时清除的会话中.在页面加载时,将生成该CAPTCHA值的新会话变量.