我试图像这样实施Google验证码:
<form name="myForm" ng-submit="doSomething()">
<div class="g-recaptcha" data-sitekey="my-key"></div>
<input type="submit" value="Submit">
</form>
在我的头标记中:
<script src='https://www.google.com/recaptcha/api.js'></script>
验证码没有显示在那里。我错过了什么?
答案 0 :(得分:2)
我遇到了同样的问题,我正在使用&#34; grunt server&#34;和grunt在0.0.0.0:9000运行应用程序。 因为reCaptcha不会显示,当我更改为localhost:9000或127.0.0.1时,它可以工作。
我希望它有所帮助。
答案 1 :(得分:2)
如果你使用recapcha + AngularJS,在alter route上,通常你丢失了recapcha的引用,更多 captcha async 的解决方案是:
在回调函数中,在重新加载脚本之前,创建一个简单的验证,
注意:&#39; captchaContainer&#39;是否重新加载的触发器(不在同一页面中创建两个实例)然后您可以无限地更改路径。
示例:
if (captchaContainer == undefined) {
var captchaContainer = null;
var loadCaptcha = function () {
try {
captchaContainer = grecaptcha.render('captcha_container', {
'sitekey': 'Your_key_____'
});
} catch (e) {
if (e.message != 'ReCAPTCHA placeholder element must be empty') {
return setTimeout('loadCaptcha();', 300);
}
}
};
loadCaptcha();
}