Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在函数调用时加载Javascript文件_Javascript_Ajax_Jquery_Recaptcha - Fatal编程技术网

在函数调用时加载Javascript文件

在函数调用时加载Javascript文件,javascript,ajax,jquery,recaptcha,Javascript,Ajax,Jquery,Recaptcha,我正在使用谷歌验证码当一些登录尝试失败时,我的网站基于Ajax和Java脚本,因此我需要在调用函数时加载谷歌验证码Java脚本文件 我通过请求API获得验证码,http://www.myserver.com/api/?request=captcha所以这将返回 我使用$POST发出请求,并使用.HTML在我的网站上显示验证码 $.post("api/index.php", {request: "captcha"}, function(data) { $('#customContent

我正在使用谷歌验证码当一些登录尝试失败时,我的网站基于
Ajax和Java脚本
,因此我需要在调用函数时加载谷歌验证码
Java脚本
文件

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

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

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

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

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

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

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

    $('#customContent')[0].appendChild(data);
});
我希望有帮助

转到并按照说明在页面中动态插入谷歌验证码。你必须以不同的方式去做。如果要使用ajax获取代码,请向下滚动上面的页面,直到标记为AJAXAPI的部分,并遵循他们的代码示例

你应该准确地阅读他们的说明,但基本上你总是把它放在你的页面上:

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

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

最后我自己找到了答案,谢谢你的回答

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

您不需要在begging时加载
谷歌验证码Java脚本
只要使用
getScript
函数在出现最大失败记录尝试时加载谷歌验证码脚本,并使用
.done
response status调用
showrecapcha()
函数即可。祝你好运

Google recaptha脚本是否使用
document.write()
插入其内容?如果是这样,您不能在之后插入,因为它将不起作用
document.write()
仅在加载页面时运行时,才会将内容插入文档中的当前位置。否则,
document.write()
将清除当前文档并启动一个新文档。是否已检查是否有对AJAX调用的响应?你确定这个响应是纯文本而不是JSON吗?@DevlshOne是的,我检查了响应!这和上面一样。是的,它是有效的,在这里发布这个问题后,我也开始看更多的东西,并找到了相同的答案!谢谢你,伙计。。
function showRecaptcha() {
        Recaptcha.create("your public key", 'captchadiv', {
        tabindex: 1,
        callback: Recaptcha.focus_response_field
        });
}