google recaptcha with ajax form

Mik*_*ail 6 javascript ajax jquery recaptcha

我有一个google recaptcha,但我的表单是ajaxed所以我需要获取验证码生成的令牌的"输入值",我检查页面找到令牌,我确实找到了令牌

<input type="hidden" id="recaptcha-token" value="03AHJ_VuucWtkVREJrdNs4CGxDBOVJ0NF5mr94-pKbmRE46-VjgtdPrnS3pPtub-fAuqGZHTwoZgbeFGrbe6gMeMuDTtsu1AmHXPkwdlO2n_zRwmnueSBkwDfzr1JLXjX50qF20yWDjV7S74za9SgYTWaNiwYZmljmFQ2niJt7fqR0CncIQtHuTtkrJszZqJDKyCfFGKpKtGEzYOCd6xGOM54QD9C4bhujbswyuCbOpXKMBoBdEtSthCsOllxIZPgATXdqfhAD5D-rgUb6wvvS0KIJJaYyQ8pzZHTNI6y1Mv20LY5dfkKGUaCR6e9F4WnuU8Fd8ZIRXRVrvZdg2U3XUfkJsojUQmYbvCtkjzZ_a49SwKEtU8X8jYVtTk_C5TvxQqEH8NbM1P5yJm-Ua5b4jVaOUp9df0QiZbVH2PlQOIXtPiVk21y_Ff2YaqTpxe2hgmLjdSSfhP3bKQ9L82zB-wRopATkcVOuoGWyx9k8L8zpQ5ZudQtSobFsf3UYg3NhtuBZeeuDkHefyEWk4_Ji-oIp4N2qh9Wv4UKZllSJjwsebtNY_mI7QCon0mKy5ppiJ8vbZU8Q9DM8RQyKsGI8OA3hN8WgD3jijA">
Run Code Online (Sandbox Code Playgroud)

所以我不需要捕获值并将其与请求一起发送,但由于某种原因它不会将值存储在变量中

这是jquery代码

 $(document).on('click', '#IDcontactSubmitBtn', function(event) {
    event.preventDefault();
    var recaptchaToken = $('#recaptcha-token').val();
    console.log(recaptchaToken);
});
Run Code Online (Sandbox Code Playgroud)

即使我在检查元素时可以看到令牌它没有存储在变量中,我也不知道为什么,可能它甚至不是正确的方式来实现谷歌recaptcha?请帮助,谢谢.

Mik*_*ail 8

为了捕获令牌,您应该使用此代码

var token = $("#g-recaptcha-response").val();
Run Code Online (Sandbox Code Playgroud)

  • 如果谷歌试图稍微改变其内部实现,这看起来并不可靠。 (2认同)