Postman怎么发送带Token的请求?Vue里能拿到,但Postman总401

萌新.梓宸 阅读 18

我在Vue里调接口能正常带上Authorization头,但用Postman测试同一个接口总是返回401,是不是我Header写错了?

这是我在Vue组件里的请求代码:

<script>
export default {
  methods: {
    fetchData() {
      fetch('/api/data', {
        headers: {
          'Authorization': 'Bearer ' + localStorage.getItem('token')
        }
      })
    }
  }
}
</script>

Postman里我在Headers加了 Key: Authorization,Value: Bearer xxxxx(直接复制localStorage里的token),但还是不行,到底哪里漏了?

我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
Designer°玉银
代码给你,你对比下是不是这几个坑里踩了:

1. 确认你 localStorage 里的 token 是不是带空格或者换行的,比如复制的时候不小心带了前后空格,直接 trim() 一下试试:

localStorage.getItem('token').trim()


Postman 里别手输,直接点 Authorization 下拉框选 Bearer Token,然后右边输入 token,别自己拼 Bearer 前缀,Postman 会自动加。

2. 检查接口是不是走 /api/xxx 这种代理路径,你 Postman 直接请求了后端真实地址,比如 http://localhost:8080/data,而 Vue 里是 http://localhost:3000/api/data,代理层可能做了 token 转发或校验,但后端原生接口没处理,导致 401。

3. 检查 token 有没有过期,Postman 里直接把 localStorage 里的 token 复制出来用 jwt.io 解码看下 exp 字段,别用快过期的 token 测试。

4. 最关键的一点:Postman 里 Headers tab 下确认 Authorization 是唯一一个叫这个名字的 key,别重复写了 AuthorizationauthoriZation(大小写问题在某些服务器会出问题,虽然 RFC 说不区分,但实际 nginx 或某些中间件会挂)。

如果还 401,直接在后端加个日志打印 req.headers.authorization,看 Postman 发过去的值到底长啥样,90% 的问题都能定位在这一步。
点赞
2026-02-25 11:22