为了账号安全,请及时绑定邮箱和手机立即绑定

axios 怎么设置默认参数?

axios 怎么设置默认参数?

波斯汪 2019-05-25 13:41:29
项目的很多请求都需要携带上用户的token和uid才能返回数据,在每个地方都写一次又感觉太麻烦了。看了下axios的全局默认配置:axios.defaults.baseURL='https://api.example.com';axios.defaults.headers.common['Authorization']=AUTH_TOKEN;axios.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded';好像不能写在这里面,如果写在请求的拦截器里面应该怎么写才能让所有的请求都默认带上token和uid呢?难不成直接在里面获取一次token和uid就行了吗?//Addarequestinterceptoraxios.interceptors.request.use(function(config){//Dosomethingbeforerequestissentreturnconfig;},function(error){//DosomethingwithrequesterrorreturnPromise.reject(error);});
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

想了下我还是贴一下我的方法吧,仅供参考
//请求的拦截器
axios.interceptors.request.use(function(config){
consttoken=localStorage.getItem('token')
constuid=localStorage.getItem('uid')
//判断请求的类型
//如果是post请求就把默认参数拼到data里面
//如果是get请求就拼到params里面
if(config.method==='post'){
letdata=qs.parse(config.data)
config.data=qs.stringify({
token:token,
uid:uid,
...data
})
}elseif(config.method==='get'){
config.params={
token:token,
uid:uid,
...config.params
}
}
returnconfig;
},function(error){
returnPromise.reject(error);
})
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 3248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信