在 javascript 中用 fetch 发送带鉴权头的请求,需在 headers 中设置首字母大写的 'authorization' 字段,值为 "bearer " + token;get 和 post 均适用,post 时还需正确序列化 body 并设 content-type: application/json。

在 JavaScript 中用 fetch 发送带鉴权头(如 Bearer Token)的请求,关键是在 headers 选项中手动添加 Authorization 字段。
设置 Authorization 请求头
最常见的鉴权方式是 Bearer Token。你需要把 token 拼接成 "Bearer <token>"</token> 格式,然后作为 Authorization 头的值传入:
- 确保 token 是字符串类型,避免拼接出错(比如
null或undefined) - 注意大小写:
Authorization首字母大写,不能写成authorization - Bearer 后面必须有一个空格,再跟 token
完整 fetch 示例
下面是一个发送带 token 的 GET 请求的典型写法:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
const token = 'your-jwt-token-here';
fetch('/api/user', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error('请求失败:', err));
POST 请求 + 鉴权头
POST 请求同样需要鉴权头,同时注意正确设置 body 和 Content-Type:
- 如果发送 JSON 数据,
body要用JSON.stringify()序列化 -
Content-Type必须显式设为application/json -
Authorization头和 GET 请求写法一致
常见问题提醒
实际开发中容易踩的坑:
- token 过期或无效导致 401 响应,建议统一处理未授权错误
- 跨域请求时,服务端需在响应头中包含
Access-Control-Allow-Headers: Authorization - 某些后端要求 token 放在自定义头(如
X-Auth-Token),那就按接口文档填对应字段 - 不要在 URL 中拼 token(不安全),优先走请求头
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










