我正在使用Google 当一些登录尝试失败时,我的网站是基于Ajax and Java Script
的,所以我需要加载Google Java Script
文件时调用一个函数!
我通过向API,http://www.myserver.com/api/?request=captcha
发出请求来获得captcha代码,因此这将返回
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LeV3rdSAAAAABp2Q3bjyjCR9E6vvZ06oM6-6yj"></script>
我使用$POST
发出请求,.HTML
在我的站点上显示captcha。
$.post("api/index.php", {request: "captcha"}, function(data) {
$('#customContent').html(data);
});
但这不会在HTML元素上显示captcha!我哪里做错了?
发布于 2013-07-06 04:27:53
转到这个Google页面,按照指示动态地将Google插入页面。你必须采取与你不同的做法。如果要用ajax获取代码,请向下滚动上面的页面,直到标有AJAX的部分并遵循它们的代码示例。
你应该准确地阅读它们的说明,但基本上你总是把它放在你的页面上:
<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
您需要创建一个容器div,以便让captcha进入并给它一个id,然后当您想插入captcha时,使用您的键和id调用它:
Recaptcha.create("your_public_key",
"element_id",
{
theme: "red",
callback: Recaptcha.focus_response_field
}
);
我自己从来没这么做过。我只是在谷歌上搜索并阅读说明。
发布于 2013-07-06 04:35:36
最后,我自己找到了答案,谢谢你的回答!
function showRecaptcha() {
Recaptcha.create("your public key", 'captchadiv', {
tabindex: 1,
callback: Recaptcha.focus_response_field
});
}
您不需要在乞讨的load
上使用Google Java脚本,只需在出现最大失败日志记录尝试时使用getScript
函数加载Google脚本,并使用.done
responce状态调用showRecaptcha()
函数。祝好运!
发布于 2013-07-06 03:52:15
不要使用jQuery来放置使用document.write的脚本标记,而是将其与本机javascript放在一起,例如:
$.post("api/index.php", {request: "captcha"}, function(data) {
$('#customContent')[0].appendChild(data);
});
希望能帮上忙!
https://stackoverflow.com/questions/17499355
复制相似问题