【发布时间】:2019-09-22 22:10:54
【问题描述】:
我想使用 Jquery 和 ajax 提交数据并做一些事情。
试用 Google Recaptcha V3。在下面的代码中,alert ("token 2 is " + Mytoken); ---> 这里我收到一条错误消息,提示 Mytoken 未定义
问题是我如何让 grecaptcha.execute 返回可以在其他地方使用的数据?例如,如果验证码有效,那么我使用令牌代码提交一些 ajax 数据,并在提交的后端脚本上验证令牌。
<html>
<head>
<title>Recaptcha Ajax</title>
<script src="https://www.google.com/recaptcha/api.js?render=<?php echo $captcha_site_key; ?>"></script>
</head>
<body>
<script>
var MYtoken;
grecaptcha.ready(function() {
grecaptcha.execute('<?php echo $captcha_site_key; ?>', {action: 'test_page'}).then(function(token) {
//$("#pet_token").val(token);
//$('myform').prepend('<input type="hidden" name="recaptchaTOKEN" value="' + token + '">');
alert ("token is " + token);
alert ("and Mytoken is " + token);
});
});
for (var i = 1; i <= 5; i++) {
var tick = function(i) {
return function() {
console.log(i);
}
};
setTimeout(tick(i), 1000 * i);
}
alert ("token 2 is " + Mytoken);
</script>
【问题讨论】: