我不知道如何将这个应用到我的登录页面,一旦验证成功响应Ajax然后提交表单。 这是我的HTML表单(我离开的动作无效,因为我仍然在测试)谷歌reCaptcha验证使用jQuery AJAX
<form action = "" method = "post">
<input type = "text" id = "email" name = "email">
<input type = "password" id = "pass" name = "password">
<div class = "form-group col-lg-6">
<div class="g-recaptcha" data-sitekey="MY_KEY"></div>
</div>
<input type = "button" id = "submit" value = "submit">
</form>
这就是我所理解的验证码发送的验证码字..阿贾克斯如果验证码success
提交表单,如果failed
我举一个alert
。
$('#submit').click(function() {
var captcha = "captcha";
$.ajax({
url: "captcha.php",
method: "post",
data:{captcha:captcha},
success:function(data){
if(data=='success'){
$('form').submit();
}
}
else{
alert('captcha failed. try again');
}
});
});
我captcha.php
我如何收到$_POST['captcha']
<?php
if($_POST['captcha']){
$url = 'https://www.google.com/recaptcha/api/siteverify';
$privatekey = 'MY_SECRET_KEY';
$response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
$data = json_decode($response);
if($data->sucess==true){
echo "success";
}
else{
echo "failed";
}
}
?>
请帮助我了解如何将它的工作以及它如何使用AJAX 进行预先感谢您:)
UPDATE
我只是注意到我怎么能$_POST['g-recaptcha-response'];
??
看到这个类似的问题对SO。 https://stackoverflow.com/questions/31342949/recaptcha-how-to-autosubmit-the-form-when-the-captcha-was-send/31372916#31372916 – colecmc