本来是这样的,一开始的请求头
这个是浏览器url地址的的请求参数
然后token就被替换了!
vue中interceptors拦截器中添加的请求头被参数替换怎么办
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- lshen01 2023-03-17 09:42关注
参考GPT和自己的思路:
根据你提供的信息,可以看出你的请求头中使用了一个叫"Authorization"的参数来传递token值。而在浏览器地址栏中,请求参数中也使用了一个名为"token"的参数。这两者之间的差异,导致了拦截器中添加的请求头被替换掉了。
解决这个问题的方法很简单,你只需要在拦截器中给"Authorization"参数的值设置成请求参数中的"token"参数即可。具体的代码如下:
axios.interceptors.request.use(config => { const token = getUrlParam('token') // 获取浏览器地址栏中的"token"参数 if (token) { config.headers.Authorization = `Bearer ${token}` // 给"Authorization"参数设置token值 } return config }) function getUrlParam(name) { const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') const r = window.location.search.substr(1).match(reg) if (r != null) { return unescape(r[2]) } return null }
其中,
getUrlParam
函数是用来从浏览器地址栏中解析出参数的函数。使用这个函数可以获取到"token"参数的值,然后把它赋值给"Authorization"参数的值即可。需要注意的是,"Authorization"参数的值需要添加"Bearer "前缀才能够被服务器正确识别。解决 无用评论 打赏 举报
悬赏问题
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思