google 用 ajax 形式重新验证
google recaptcha with ajax form
我有一个 google recaptcha 但我的表单是 ajaxed 所以我需要获取验证码生成的令牌的 'input value',我检查页面以找到令牌并且我找到了令牌
<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA">
所以不,我需要捕获值并将其与请求一起发送,但由于某种原因它不会将值存储在变量中
这里是 jquery 代码
$(document).on('click', '#IDcontactSubmitBtn', function(event) {
event.preventDefault();
var recaptchaToken = $('#recaptcha-token').val();
console.log(recaptchaToken);
});
尽管我在检查元素时确实可以看到令牌,但它并未存储在变量中,但我不知道为什么,它甚至可能不是实现 google recaptcha 的正确方法?请帮忙,谢谢。
我发现它有效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Place Holder</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA">
<button type="button" id="IDcontactSubmitBtn" >Submit</button>
<script type="text/javascript">
$(document).on('click', '#IDcontactSubmitBtn', function(event) {
event.preventDefault();
var recaptchaToken = $('#recaptcha-token').val();
console.log(recaptchaToken);
});
</script>
</body>
</html>
如果您的代码是实时的,请告诉我,这可能对我们找出问题有很大帮助。
为了获取令牌,您应该使用此代码
var token = $("#g-recaptcha-response").val();
按照 docs 的建议去做。
var token = grecaptcha.getResponse();
我有一个 google recaptcha 但我的表单是 ajaxed 所以我需要获取验证码生成的令牌的 'input value',我检查页面以找到令牌并且我找到了令牌
<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA">
所以不,我需要捕获值并将其与请求一起发送,但由于某种原因它不会将值存储在变量中
这里是 jquery 代码
$(document).on('click', '#IDcontactSubmitBtn', function(event) {
event.preventDefault();
var recaptchaToken = $('#recaptcha-token').val();
console.log(recaptchaToken);
});
尽管我在检查元素时确实可以看到令牌,但它并未存储在变量中,但我不知道为什么,它甚至可能不是实现 google recaptcha 的正确方法?请帮忙,谢谢。
我发现它有效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Place Holder</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA">
<button type="button" id="IDcontactSubmitBtn" >Submit</button>
<script type="text/javascript">
$(document).on('click', '#IDcontactSubmitBtn', function(event) {
event.preventDefault();
var recaptchaToken = $('#recaptcha-token').val();
console.log(recaptchaToken);
});
</script>
</body>
</html>
如果您的代码是实时的,请告诉我,这可能对我们找出问题有很大帮助。
为了获取令牌,您应该使用此代码
var token = $("#g-recaptcha-response").val();
按照 docs 的建议去做。
var token = grecaptcha.getResponse();