如何在用户确认他不是机器人后获得recaptcha客户端验证参数g-recaptcha-response?

时间:2015-05-16 16:32:38

标签: javascript json angularjs rest recaptcha

我正在尝试在表单中实现Google recaptcha。表单向服务器发出HTTP post请求,并将数据作为JSON对象发送。

我在表单提交按钮之前添加了Google reCAPTCHA,其中包含以下div标记:

     <div class="g-recaptcha" data-sitekey="{SITE_KEY}"></div>

我还在head标签中添加了所需的JavaScript文件:

 <script src='https://www.google.com/recaptcha/api.js'></script>

现在,提交按钮向JavaScript函数发出请求,如下所示:因此我使用的是Angular JS

  $scope.issueVideoUploadRequest = function () {

    var requestVideoUploadParameters = {
        videoSource: $scope.videoSource,
        title: $scope.title,
        description: $scope.description,
        videoLanguage: $scope.language,
        tagsList: $scope.tagsList
    };
    $http({
        method: "POST",
        dataType: "json",
        data: requestVideoUploadParameters,
        url: 'http://localhost:8080/OampSeniorProjectV2/rs/content/requestUploadForm'
    }).success(function (response, status, headers) {
        $scope.alertMessageVideoRequest = response;
        alert(response);
    }).error(function (response, status, headers, config) {
        $scope.reloadPage();
    });
};

表单提交给REST服务。

问题是,在哪里可以找到g-recaptcha-response参数,所以我将它与表单JSON对象一起发送回服务器?因为我需要这个响应值来执行服务器端用户验证。

我关注的是here

发布的文档

1 个答案:

答案 0 :(得分:9)

grecaptcha.getResponse(WIDGET_ID);

这将给你回复的回应。如果您使用的是Angular,请在表单提交功能中使用此功能。