我试图让谷歌"我不是机器人"使用显式渲染和AJAX在我的页面上进行验证码。
这是我的recaptcha onload回调:
function recaptchaLoaded() {
elem.dataset.ffRecaptchaId = grecaptcha.render(elem, {
'sitekey' : 'my key'
});
}
我在页面上看到了元素,因此调用成功了。
稍后,我这样做:
recaptcha_response = grecaptcha.getResponse(recaptcha_element.data('ff-recaptcha-id'));
这会产生错误:
未捕获错误:ReCAPTCHA客户端ID无效:0
我已经使用调试器进行了检查,0是render()
返回的值这里使用的正确值是什么?
(溶液)
问题是我不小心导入了两次Recaptcha脚本,因此在页面上呈现元素后,grecaptcha
被重新初始化。然后第二个grecaptcha显然不知道第一个元素。