axios设置自定义请求头问题

先别喷我,文档我已经看了,也谷歌了,按着文档或者搜索到的答案设置出来的结果都不是我要的,main.js代码如下

axios.interceptors.request.use(
    config => {
          // 判断是否存在token,如果存在的话,则每个http header都加上token
        // config.withCredentials = true
        config.headers['X-Token'] = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuamlhamlh'
        
        return config
    },
    err => {
        return Promise.reject(err)
})

浏览器输出的结果如下
图片描述

只是多了一个Access-Control-Request-Headers:x-token
连x-token得值都没有,不应该是在头信息里多一个X-Token,与"Host"等同级的属性吗?
不应该是
X-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuamlhamlh
这样的吗?
求解

阅读 18.8k
1 个回答

是这样的,跨域请求,非简单请求(不是 getpost 或存在多余的头部)时,浏览器会首先进行一个 OPTIONS 请求,这个请求来询问跨域是否被允许。Access-Control-Request-Headers 就属于这个请求。

当服务器返回允许 Access-Control-Request-* 所列出的项目是(就是返回 Access-Control-Allow-*)后,浏览器会发送你的请求。

推荐问题
宣传栏