uniapp封装axios在拦截器设置请求头,运行到浏览器和小程序获取不到请求头,导致数据请求失败

import axios from 'axios'

import store from '@/store'
//引入适配器
import mpAdapter from 'axios-miniprogram-adapter'



import {
	API_HOST,
	API_TIME_OUT
} from '@/config/http'

axios.defaults.adapter = mpAdapter

const http = axios.create({
	baseURL: API_HOST,
	timeout: API_TIME_OUT
})



// 请求拦截
http.interceptors.request.use(config => {
//每个请求的数据中设置请求头
	config.headers['Authorization'] = `Bearer ${store.state.user.token}`

	// console.log(config.headers['Authorization'])
	return config
}, error => {
	return Promise.reject(error)
})

// 响应拦截
http.interceptors.response.use(response => {
	return response.data
}, error => {
	return error
});



axios.defaults.adapter = function(config) { //定义适配器,用来适配uniapp的语法
	return new Promise((resolve, reject) => {
		const settle = require(axios);
		const buildURL = require(axios);
		const baseURL = config.baseURL ? config.baseURL : '';
		uni.request({
			method: config.method.toUpperCase(),
			url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
			header: config.headers,
			data: config.data,
			dataType: config.dataType,
			responseType: config.responseType,
			sslVerify: config.sslVerify,
			complete: function complete(response) {
				response = {
					data: response.data,
					status: response.statusCode,
					errMsg: response.errMsg,
					header: response.header,
					config: config
				};
				settle(resolve, reject, response)
			}
		})
	})
}

export default http
config.headers['Authorization'] = `Bearer ${store.state.user.token}`
就是这句,能在请求的打印出来就是请求数据的时候获取不到,整了一天各种办法都试了!
经过多番折腾,发现是axios 和axios-miniprogram-adapter 适配器版本的问题,

最后换成如下版本,问题完美解决!
在这里插入图片描述用这个命令:npm install axios@0.25.0 --save

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值