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

调用OpenWeatherMap API返回HTML而非JSON 解析时报Unexpected token <错误如何解决

问题根因

Unexpected token < in JSON at position 0 报错本质是接口返回了HTML格式内容(通常是站点404页面,首字符为<),不符合JSON解析规则。Postman请求正常是因为工具会自动补全请求协议,浏览器不会做该兼容处理。

代码存在的问题

  • 接口地址缺失https://协议头,浏览器会将其识别为相对路径,拼接当前运行页面的域名发起请求,实际请求地址完全错误。
  • 查询参数开头存在冗余&符号,?&q=的写法不符合URL参数规范,虽部分服务端可兼容,但存在解析失败风险。

修正后的代码

const Fetching = async () => {
  try {
    // 补全协议头,删除多余的&符号
    const response = await fetch('https://api.openweathermap.org/data/2.5/weather?q=London&appid=31c3627d9d33b84c7a575fc11b6d7dfe');
    // 先校验响应状态
    if (!response.ok) {
      const errorText = await response.text();
      console.error('请求失败,响应内容:', errorText);
      return;
    }
    const responsedata = await response.json();
    console.log(responsedata);
  } catch (err) {
    console.error('请求处理失败:', err);
  }
};
Fetching();

补充说明

如果修正后仍有问题,可先调用response.text()打印完整响应内容,确认返回的具体页面信息排查问题,常见额外问题包括跨域配置错误、API密钥权限限制、请求IP被限流等。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:24:03