使用Bearer Token调用Fetch API返回401错误的求助
问题分析与解决
你的代码存在两处关键问题,直接导致了401未授权错误:
- 错误的配置属性位置
method和redirect属于fetch请求配置的顶级属性,不能嵌套在headers对象中。正确的配置结构应该是:
const bearerToken = "Bearer " + token const fetchDataGet = async () => { const response = await fetch("http://localhost:8080/api/corso/getcorsi-da?id_ca=1", { method: "GET", // 移至配置顶级 headers: { "Authorization": bearerToken }, redirect: "follow" // 移至配置顶级 }) return response.json() }
- Token拼接的空格校验
确认token变量本身是否带有前导/尾随空格,导致拼接后的Bearer+ token出现多余空格。可以用trim()处理避免格式问题:
const bearerToken = `Bearer ${token.trim()}`
Postman能成功但代码报错,核心原因是原配置结构错误,导致Authorization头没有被正确发送到服务器。调整配置后,可通过浏览器开发者工具的网络面板查看请求头,确认Authorization是否已正确携带。
内容的提问来源于stack exchange,提问作者Andrea Internullo
相关产品推荐
相关产品推荐

