如何在保留reCaptcha脚本的同时使用jQuery/AJAX加载reCaptcha表单?

eSe*_*rik 25 ajax jquery cakephp recaptcha

我使用JQuery/AJAX将我的联系表单加载到我的页面中.

联系表单包含reCaptcha脚本.

不幸的是,JQuery在将脚本标签插入我的页面之前删除了它们.需要这些脚本标记,因为它们输出验证码.现在我加载的表单没有验证码.

ben*_*nck 21

该链接可满足您的所有需求:http://code.google.com/apis/recaptcha/docs/display.html

您无法在ajax中添加脚本.您应该在之前添加以下行:

  <script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用添加以下代码在js代码中动态创建recaptcha表单:

  Recaptcha.create("your_public_key",
    "element_id",
    {
      theme: "red",
      callback: Recaptcha.focus_response_field
    }
  );
Run Code Online (Sandbox Code Playgroud)


Ole*_*leg 21

@benck,很棒的答案!但它已经过时了.当前脚本URL是:

<script type="text/javascript" src="https://www.google.com/recaptcha/api.js"></script>
Run Code Online (Sandbox Code Playgroud)

代码应如下所示:

grecaptcha.render('element_id', {
    sitekey: recaptchaSiteKey,
    callback: function(response) {
        console.log(response);
    }
});
Run Code Online (Sandbox Code Playgroud)