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

运行Hugging Face Transformers及React翻译示例遇JSON解析错误

问题分析与解决

这个错误的核心是你的代码尝试把**HTML内容(而非预期的JSON)**解析成JSON,所以才会出现Unrecognized token '<'——HTML的起始标签是<,和JSON格式完全不兼容。大概率是调用模型接口时出了问题,比如跨域限制、请求地址错误、服务器返回了错误页面。

以下是具体排查和解决步骤:

  • 处理跨域限制:浏览器同源策略会阻止前端直接调用外部API。如果是在本地开发环境(比如localhost)调用第三方模型接口,需要配置跨域代理。在React项目中,可以在package.json添加"proxy": "目标API域名",或者使用http-proxy-middleware配置代理规则,让请求通过本地服务器转发绕开跨域限制。

  • 验证请求配置:确认调用transformers.js时传入的模型ID、API路径是否正确。部分模型需要指定特定推理端点,或者需要访问令牌(access token)才能调用。打开浏览器控制台的Network面板,查看请求的状态码和返回内容——如果返回404、403,说明地址错误或权限不足,返回的内容就是错误HTML页面。

  • 检查模型加载方式:transformers.js支持本地加载和远程调用两种模式。如果是本地加载,确保模型文件已正确下载到项目中,路径配置无误;如果是远程调用,确认网络能正常访问模型服务器,没有被防火墙或代理拦截。

  • 捕获并查看原始返回内容:给翻译请求代码加上try/catch,先打印返回的原始文本,明确拿到的是什么内容,方便定位问题。示例代码:

    async function translateText() {
      try {
        const response = await fetch(yourApiUrl, yourOptions);
        const rawContent = await response.text(); // 先获取原始文本,不要直接调用json()
        console.log('接口原始返回:', rawContent);
        if (response.ok) {
          const data = JSON.parse(rawContent);
          // 处理翻译结果
        } else {
          console.error('请求失败:', response.status, rawContent);
        }
      } catch (err) {
        console.error('请求出错:', err);
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:15:56