uniapp之request自定义header添加多个属性

在使用uni.request时,发现在浏览器调试时,无法在请求头header中添加多个属性字段,我一般没怎么用过uniapp的request都是使用axios组件,事后经过测试,发现了问题,并非request无法在请求头中自定义字段,而是操作不当。

在header中如果添加了Authorization这个属性token字段,那么就会优先只取Authorization这个属性字段,所以在uniapp使用request自定义header,可以这样做:

header: {
				        myToken1: 'mytoken-uniapp1',
                        myToken2: 'mytoken-uniapp2'
				    },
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uniapp中,可以通过在main.js文件中配置全局的请求拦截器和响应拦截器来实现对所有网络请求的拦截。 首先,我们需要引入uni的请求库: ``` import Vue from 'vue' import App from './App' import request from '@/common/request.js' Vue.config.productionTip = false Vue.prototype.$http = request App.mpType = 'app' const app = new Vue({ ...App }) app.$mount() ``` 然后,在request.js文件中定义请求拦截器和响应拦截器: ``` import Vue from 'vue' import { baseUrl } from '@/common/config.js' const request = (options) => { // 发送请求前的拦截器 uni.showLoading({ title: '加载中...' }) // 统一的请求地址 options.url = baseUrl + options.url // 统一设置请求头 options.header = { 'Content-Type': 'application/json;charset=UTF-8', ...options.header } return new Promise((resolve, reject) => { uni.request({ ...options, success: (res) => { // 请求成功的响应拦截器 uni.hideLoading() if (res.statusCode === 200) { resolve(res.data) } else { reject(res) } }, fail: (err) => { // 请求失败的响应拦截器 uni.hideLoading() reject(err) } }) }) } Vue.prototype.$http = request export default request ``` 这段代码中,我们在request函数中定义了请求拦截器和响应拦截器,请求拦截器中我们可以对请求进行统一处理,例如添加请求头等操作;响应拦截器中我们可以对返回的结果进行统一处理,例如对状态码进行判断等操作。 需要注意的是,如果请求失败,也需要触发响应拦截器中的reject方法,并将错误信息传递给该方法。 这样,我们就可以在uniapp中实现请求拦截和响应拦截了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值