在函数调用上加载Javascript文件

时间:2013-07-06 03:20:25

标签: javascript ajax jquery recaptcha

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

我通过向我的API Java Script发出请求来获取验证码,因此这将返回

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

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

3 个答案:

答案 0 :(得分:1)

转到this Google page并按照说明将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
    }
  );

仅供参考,我自己从未这样做过。我只是用Google搜索并阅读说明。

答案 1 :(得分:1)

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

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

并且您不需要load Google Captcha Java Script at begging 只需使用getScript函数加载Google Captcha脚本,以便在发生最大失败的日志记录尝试时使用.done响应状态以调用showRecaptcha()函数。祝你好运!

答案 2 :(得分:-1)

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

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

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

我希望它有所帮助!