vue 拦截器
这里用vue的axios
首先去下载axios=>npm install axios
安装完毕后重写axios
我这里创建文件夹了service文件夹,在下边创建了httpAxios文件
引用vue文件及axios文件
给axios一个地址,及头部信息和设置跨域请求
axios.defaults.baseURL=''; axios.defaults.withCredentials =true; axios.defaults.headers.put['Conetent-type']='application/json'; axios.defaults.headers.post['Content-type']='application/json';
设置request拦截器
axios.interceptors.request.use( (config)=>{
//判断token,存在token,将token放入headers中发送给服务端,后台进行判断 if(store.state.user.token){ config.headers.Authorization='${store.state.user.token}' } return config; }, (err)=>{ return Promise.reject(err); } );
设置response拦截器
axios.interceptors.response.use( (response)=>{ return response; }, (error)=>{ if(error.response){ switch (error.response.status) { case 401: router.replace({ name:'login', query:{redirect:router.currentRoute.fullPath} }); break; } } return Promise.reject(error.response.data); } ); export const request=(config)=>{ return axios(config); }
export const request=(config)=>{
return axios(config);
}
判断返回状态是否没问题,存在问题进行处理。
页面调用的时候稍微修改一番。
引用重写文件
import request from '../service/httpAxios'
request({ method:'post', url:'', data:{} }).then(function(respones){ }).catch(function(error){ console.log(error); });
第一次写拦截器小记。