我使用 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元素上显示验证码!我在哪里做错了?
答案 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);
});
我希望它有所帮助!