You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

尝试获取网站reCAPTCHA令牌报错,寻求调试解决方案

问题分析与调试方案

首先看你提供的站点代码,存在HTML字符串拼接的语法错误,这是导致表单无变化的核心原因:
在构造隐藏input的代码中,闭合value属性的引号错误使用了">,这会生成不合法的HTML标签(比如value="xxx">),浏览器无法正确解析这些字段,自然提交时没有预期效果。

修复后的代码

$('#main-content').submit(function (event) {
    var sk = "6Le7HZQeAAAAANyVJZBpFKiWwDstptVGJ2aGbyMC";
    event.preventDefault();
    grecaptcha.ready(function () {
        grecaptcha.execute(sk, {action: "vote"}).then(function (token) {
            // 修正引号闭合逻辑,生成合法的hidden input
            $("#main-content").prepend('<input type="hidden" name="sitekey" value="' + sk + '">');
            $("#main-content").prepend('<input type="hidden" name="action" value="vote">');
            $("#main-content").prepend('<input type="hidden" name="token" value="' + token + '">');
            $("#main-content").unbind('submit').submit();
        });
    });
});

调试步骤

  • 查看控制台报错:打开浏览器F12的「Console」标签,直接定位语法错误、变量未定义(比如grecaptcha是否加载)等问题。
  • 验证reCAPTCHA状态:在控制台输入grecaptcha,如果返回undefined,说明reCAPTCHA的官方脚本还没加载完成,或者站点未正确引入。
  • 检查事件绑定:执行$._data($('#main-content')[0], 'events')(jQuery环境),查看submit事件是否成功绑定到表单上。
  • 分步执行代码:把脚本拆成片段在控制台逐行运行,比如先执行grecaptcha.execute(sk, {action:"vote"}),看能否正常获取token,定位问题出在reCAPTCHA调用还是DOM操作环节。
  • 检查生成的DOM:执行完prepend后,切换到F12的「Elements」标签,查看#main-content下是否新增了正确格式的隐藏input标签。

内容的提问来源于stack exchange,提问作者Tejas Lamba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:35:13