axios的拦截器是一个做用很是大,很是好用的东西。分为请求拦截器和响应拦截器两种。
我通常把拦截器写在main.js里。ios
请求拦截器的做用是在请求发送前进行一些操做,例如在每一个请求体里加上token,统一作了处理若是之后要改也很是容易。axios
axios.interceptors.request.use(function (config) { // 在发送请求以前作些什么,例如加入token ....... return config; }, function (error) { // 对请求错误作些什么 return Promise.reject(error); });
响应拦截器的做用是在接收到响应后进行一些操做,例如在服务器返回登陆状态失效,须要从新登陆的时候,跳转到登陆页。服务器
axios.interceptors.response.use(function (response) { // 在接收响应作些什么,例如跳转到登陆页 ...... return response; }, function (error) { // 对响应错误作点什么 return Promise.reject(error); });
var myInterceptor = axios.interceptors.request.use(function () {/*...*/}); axios.interceptors.request.eject(myInterceptor);
var instance = axios.create(); instance.interceptors.request.use(function () {/*...*/});
拦截器真的很是重要很是好用~code