vue中axios自定义请求头需分层配置:固定业务头(如x-platform)在实例初始化时设置;动态认证头(如authorization)由请求拦截器读取最新token并标准化;单次特殊头(如content-type)通过请求级参数传入;跨域时后端须明确允许自定义头。

Vue 项目中用 Axios 配置自定义请求头,核心在于按需分层设置——不是所有请求都该用同一套头,也不是所有头都适合写死。重点是区分固定业务头、动态认证头和单次特殊头,再配合拦截器统一处理逻辑。
固定业务头走实例初始化
像 X-Client-Version、X-Platform、X-Request-ID 这类全站一致的业务标识,应该在创建 axios 实例时就写进 headers 配置里,避免每个请求重复声明。
- 在
src/utils/request.js中创建实例时直接注入 - 示例:headers: { 'X-Platform': 'web', 'X-Client-Version': '2.3.1' }
- 这样既清晰又不会被后续拦截器或单次配置意外覆盖
动态认证头交给请求拦截器
Token 类头部(如 Authorization: Bearer xxx)必须每次请求前读取最新值,且要判断是否存在。拦截器是最自然的落点,还能顺便做空值过滤和格式标准化。

