我试着在网上搜索,但一无所获。
我需要的是检查当用户提交验证码和发送表单从它(例如也作为一个提交按钮)。我知道谷歌的验证码是框架所以我想知道这究竟是如何做到的:
- 实际上使用javascript在本地监听提交事件并提交表单
- 在我的php服务器中监听提交,然后将请求的结论传达给我的用户
我希望第一个是可能的,因为第二个会给臀部带来巨大的疼痛。有人知道怎么做吗,最好是方法一?
Google提供了验证captcha的功能。您需要在允许提交表单之前验证它。有关详细信息,请参阅他们的文档:https://developers.google.com/recaptcha/docs/display
我的设置是这样的:<script src='https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit'></script>
var RC2KEY = 'sitekey';
function reCaptchaVerify(response) {
if (response === document.querySelector('.g-recaptcha-response').value) {
/* do something */
}
}
function reCaptchaExpired () {
/* do something when it expires */
}
function reCaptchaCallback () {
grecaptcha.render('id', {
'sitekey': RC2KEY,
'callback': reCaptchaVerify,
'expired-callback': reCaptchaExpired
});
}
使用javascript在本地监听提交事件并提交表单
您想要侦听reCaptcha提交并发送表单。然后看看我对类似问题的回答:ReCaptcha v2.0 auto submit
重要重要的是,你需要提交表单只有当谷歌服务器验证是成功的。答案中的代码是这样的:success: function( data ) {
var res = data.success.toString();
if (res)
{ document.myform.submit(); }
} // end success