axios添加请求头不生效?

通过判断请求url拦截添加请求头
Axios.interceptors.request.use(function (config) {
if(config.url.indexOf('user')>0){
config.headers.common['Authorization'] = 'JWT ' + store.state.token
}
return config
})
在开发者工具里看不到请求头信息,但是打印可以看到
开发者工具截图

console.log

阅读 10.2k
5 个回答

你这个是预检请求吧,通过了吗。非简单请求(不是 get、post 或存在多余的头部)时,浏览器会首先进行一个 OPTIONS 请求,这个请求来询问跨域是否被允许。Access-Control-Request-Headers 就属于这个请求。

当后台服务器允许 Request Headers 中 Access-Control-Request- 所列出的项目时,也就是Response Headers中含有相应的 Access-Control-Allow- 信息后,浏览器会发送你的请求。如果后台服务器不允许的话,需要后台设置下

预检

请求

不要设在 headers.common 里,直接 headers['Authorization'] 试下

axios.defaults.headers.common['Authorization'] = 'Authorization Value'

这样:

config.headers.token='JWT ' + store.state.token

那就在对应的请求里面设置headers吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题