如何解决谷歌 reCAPTCHA V2 隐形很多问题
我已经在一个表单中实现了 recaptcha v2(普通)并且一切正常。 我以为我会尝试V3版本,但在网上阅读可能不适合我,所以我尝试了隐形V2版本。
我请求了该版本的密钥并更改了代码以进行尝试。
首先我加载 javascript
<script defer src="https://www.google.com/recaptcha/api.js"></script>
我也试过无差别地传递密钥
<script defer src="https://www.google.com/recaptcha/api.js?render=<- MY KEY ->"></script>
表单的recaptcha部分
<div class="g-recaptcha"
data-sitekey="<- MY KEY ->"
data-bind="ButtonID"
data-callback="MyFunction">
</div>
这是简化的回调函数
function MyFunction(){
var dataString = $('#MyForm').serialize();
$.ajax({
type: 'post',cache: false,url: '/myURL/...',data: dataString,dataType: 'json'
}).done(function(data){
if(data.check === 'ok'){
// All ok,I do things ...
}else{
// Reset reCaptcha
grecaptcha.reset();
// Not all required fields have been filled in or are not filled in correctly
// I mark the fields with errors ...
}
}).fail(function(){
putError('Error message');
});
服务器端代码部分,当通常地址 https://www.google.com/recaptcha/api/siteverify 处的所有字段都正确时,检查 recaptcha 令牌,仅此而已。
我们可以说它有效,但是......
它每次在控制台出现:
Uncaught (in promise) Timeout (h)
它仍然有效,但不是一件好事
如果我通过不输入所有字段来模拟多次发送尝试,通常会出现警报:
Unable to connect with reCAPTCHA. Please check your connection and try again.
没有任何效果了
其他时候我会遇到如下错误:
Uncaught TypeError: x is null
u https://www.gstatic.com/recaptcha/releases/TbD3vPFlUWKZD-9L4ZxB0HJI/recaptcha__it.js:262
W https://www.gstatic.com/recaptcha/releases/TbD3vPFlUWKZD-9L4ZxB0HJI/recaptcha__it.js:264
我做错了什么还是有什么问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。