不可见的 ReCaptcha 不调用回调
Invisible ReCapcha not calling callback
我有这样的隐形验证码设置:
<!-- CAPCHA -->
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha"
data-sitekey="6LchqW0UAAAAANOoHruD0Ql5aNJIZld4EwLiaf-W"
data-callback="capchaDone" data-size="invisible">
</div>
这里定义了回调函数:
window.capchaDone = function(response) {
console.log("DONE");
console.log("RES", response);
};
但是什么也没有记录。我也试图在 Javascript 中找到一个简单的实现。但是没有关于这个的真实文档
从 Documentation 开始,如果您将操作附加到 DIV,您还必须从 JavaScript 调用 grecaptcha.execute();
,以便执行 reCAPTCHA。假设您有这样的表格:
<!-- CAPTCHA -->
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha"
data-sitekey="6LchqW0UAAAAANOoHruD0Ql5aNJIZld4EwLiaf-W"
data-callback="capchaDone" data-size="invisible">
</div>
<form id="loginForm">
<input type="text" name="username" id="usernameField" />
<input type="password" name="password" id="passwordField" />
<input type="submit" />
</form>
并附加了一个提交事件监听器,您必须在其中调用 reCAPTCHA:
document.querySelector("#loginForm").addEventListener("submit", function() {
/** Validate input **/
grecaptcha.execute(); // hand execution off to `data-callback`
});
您可以在验证响应后在 data-callback
函数中提交表单。
function capchaDone(response) {
console.log(response)
/** Validate reCAPTCHA **/
document.querySelector("#loginForm").submit() // at last, submit the form
}
我有这样的隐形验证码设置:
<!-- CAPCHA -->
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha"
data-sitekey="6LchqW0UAAAAANOoHruD0Ql5aNJIZld4EwLiaf-W"
data-callback="capchaDone" data-size="invisible">
</div>
这里定义了回调函数:
window.capchaDone = function(response) {
console.log("DONE");
console.log("RES", response);
};
但是什么也没有记录。我也试图在 Javascript 中找到一个简单的实现。但是没有关于这个的真实文档
从 Documentation 开始,如果您将操作附加到 DIV,您还必须从 JavaScript 调用 grecaptcha.execute();
,以便执行 reCAPTCHA。假设您有这样的表格:
<!-- CAPTCHA -->
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha"
data-sitekey="6LchqW0UAAAAANOoHruD0Ql5aNJIZld4EwLiaf-W"
data-callback="capchaDone" data-size="invisible">
</div>
<form id="loginForm">
<input type="text" name="username" id="usernameField" />
<input type="password" name="password" id="passwordField" />
<input type="submit" />
</form>
并附加了一个提交事件监听器,您必须在其中调用 reCAPTCHA:
document.querySelector("#loginForm").addEventListener("submit", function() {
/** Validate input **/
grecaptcha.execute(); // hand execution off to `data-callback`
});
您可以在验证响应后在 data-callback
函数中提交表单。
function capchaDone(response) {
console.log(response)
/** Validate reCAPTCHA **/
document.querySelector("#loginForm").submit() // at last, submit the form
}