调用接口时form-data形式如何传递数据

和后台调接口的时候遇到一个问题,记录一下

调用退出登录的接口时,使用的是form-data的形式,在vue中如何设置

1. 需要在axios拦截器的地方通过传递过来的 type 值来判断,如果是form就设置请求头:content-type:application/x-www-form urlencoded

// Request interceptor
service.interceptors.request.use(config => {
    // 判断有无token,如果有设置heders里的属性Authorization的值为token
    if (getStorageRead(KEY)) {
        config.headers['Authorization'] = getStorageRead(KEY);
    }

    // 为了判断是否为formdata格式,增加了一个变量为type,如果type存在,而且是form的话,则代表是formData的格式
    if (config.type && config.type === 'form') {
        config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
    }
    return config
}, err => {
    return Promise.reject(err)
})

2. 在调用接口时,如下设置创建 new URLSearchParams(),然后往里填加需要传递的参数;

3. 调用接口时,传递一个配置项 { type:'form' },这样调用接口时就自动设置好了form-data请求头。

logout() {						
	var _this = this;
	this.$confirm('确认退出吗?', '提示', {}).then(() => {

	const params = new URLSearchParams();
	params.append('token', getStorageRead('token'));
			
	requestLogout(params, { type:'form' }).then(res => {
		if(res.data.flag){
			removeStorage('token');
			removeStorage('name');
			_this.$router.push('/login');
		}
	})	
				
  }).catch(() => { });
}

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值