0

当一些登录尝试失败时,我正在使用Google CaptchaAjax and Java Script ,我的网站基于因此我需要在调用函数时加载Google Captcha文件! Java Script

我通过向我的 API 发出请求来获取验证码,http://www.myserver.com/api/?request=captcha所以这将返回

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LeV3rdSAAAAABp2Q3bjyjCR9E6vvZ06oM6-6yj"></script>

$POST用来提出请求并.HTML在我的网站上显示验证码

$.post("api/index.php", {request: "captcha"}, function(data) {

    $('#customContent').html(data);
});

但这不会在 HTML 元素上显示验证码!我在哪里做错了?

4

3 回答 3

1

转到此 Google 页面并按照说明将 Google 验证码动态插入页面。你必须以不同的方式去做。如果您要使用 ajax 获取代码,请向下滚动上面的页面,直到标记为 AJAX API 的部分并按照他们的代码示例进行操作。

你应该准确地阅读他们的指示,但基本上你一直把它放在你的页面中:

<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>

您为您希望验证码所在的位置创建一个容器 div 并为其指定一个 id,然后在您想要插入验证码时使用您的密钥和 id 调用它:

Recaptcha.create("your_public_key",
    "element_id",
    {
      theme: "red",
      callback: Recaptcha.focus_response_field
    }
  );

仅供参考,我自己从来没有这样做过。我只是用谷歌搜索并阅读了说明。

于 2013-07-06T04:27:53.750 回答
1

最后我自己找到了答案,感谢您的回答!

function showRecaptcha() {
        Recaptcha.create("your public key", 'captchadiv', {
        tabindex: 1,
        callback: Recaptcha.focus_response_field
        });
}  

并且您不需要在乞求load时使用Google Captcha Java 脚本,只需在发生最大失败记录尝试时使用函数来加载 Google Captcha 脚本,并使用响应状态来调用函数。祝你好运!getScript.doneshowRecaptcha()

于 2013-07-06T04:35:36.820 回答
-1

不要使用 jQuery 来放置使用 document.write 的脚本标记,而是将其与原生 javascript 一起放置,例如:

$.post("api/index.php", {request: "captcha"}, function(data) {

    $('#customContent')[0].appendChild(data);
});

我希望它有帮助!

于 2013-07-06T03:52:15.123 回答