reCAPTCHA验证后如何重定向?

时间:2019-04-19 06:58:24

标签: javascript html html5

我正在我的网站上使用Google reCAPTCHA。如果验证码成功,我想重定向到另一个网站。

我使用的代码是:

<body>

<div class="col-md-6 offset-3">

<form action="/auth/login" method="post"  >

<div class="form-group mb-4 mt-4"><input id="email" class="form-control
    form-control-rounded" type="text" name = "username"
placeholder="Username"   ></div>

<div class="form-group mb-4 mt-4"><input id="password" class="form-control
    form-control-rounded" type="password" name="password"
  placeholder="Password"></div>

<button type = "submit" value = "Login"  class="btn btn-rounded btn-primary btn-block mt-2">Sign In</button>

</form>
</div>


</body>

但是它不起作用。

已编辑

我只是不太了解JavaScript。这就是为什么我问但仍然不理解。  这意味着什么,我要怎么做。 https://www.google.com/recaptcha/api/siteverify 能给我一个完整代码的例子吗?

1 个答案:

答案 0 :(得分:0)

第一件事是,如果您想使用window.location.href =“ example.com”进行重定向,第二件事是向用户显示该页面将在5秒钟内重定向,但您只设置了1秒钟的时间,第三次不调用setTimeout中的函数仅将函数作为回调传递给它。并将整个代码编写为recaptcha的回调,以便从服务器验证recaptcha时可以调用它。

<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
  if (grecaptcha.getResponse() == "success") {
    function Redirect() {
      window.location.href = "example.com"; // Correct here
    }
    document.write("You will be redirected to a new page in 5 seconds ");      
      setTimeout(Redirect,5000); // Correct here
  }
  else alert("You can't proceed!");
</script>

<body>
  <div data-type="image" class="g-recaptcha" data-sitekey="public site key"></div>
</body>