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

如何让JS识别API请求无效(即使fetch返回ok状态)

解决方案:检查API响应体而非仅依赖res.ok

你遇到的情况是API设计的常见逻辑:当请求格式合法(比如参数结构正确、API密钥有效)但请求的资源不存在时,API会返回200 OK状态码,同时在响应体中返回空结果或状态标识,而非直接返回4xx错误。这种情况下不需要更换API,只需调整代码逻辑,解析响应体并判断是否包含有效数据。

具体操作步骤:

  • 调用fetch后,必须解析响应体(比如用res.json()),查看API返回的实际数据结构
  • 根据Polygon API的返回规则,当输入无效ticker时,返回的results字段会是空数组,你可以通过这个判断请求是否成功获取到有效数据

修改后的代码示例:

const resStock = await fetch(
  `https://api.polygon.io/v3/reference/tickers?ticker=AAsdfsPL&active=true&apiKey=key`
);
const stockData = await resStock.json();

// 检查是否有有效结果
if (!stockData.results || stockData.results.length === 0) {
  // 处理无效股票代码的场景,比如抛出错误或提示用户
  console.error("Invalid ticker symbol - no matching data found");
  // 这里可以添加自定义的错误处理逻辑
} else {
  // 正常处理有效数据
  console.log("Valid stock data:", stockData.results);
}

额外提示:可以查阅Polygon API的官方文档,确认无匹配资源时的返回格式,比如是否有status字段或其他标识,以便更精准地判断请求结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:52:02