[email protected]/axios如何设置全局拦截器详解程序员

[email protected]/axios如何设置全局拦截器

nuxt.config.js 添加如下两个配置

plugins: [
{src:’~/plugins/axios-plugin’}
],

modules: [
[email protected]/axios’,
],

注意

plugins中引入的axios-plugin.js相关代码

// 相关代码 亲测有效

import axios from 'axios' 
axios.defaults.withCredentials = true// 跨域处理 允许携带cookie 
export default function ({
    $axios, redirect }) {
    
	//正常请求返回处理 
    $axios.onRequest(config => {
    
    }) 
    //错误请求返回处理 
    $axios.onError(error => {
    
      const code = parseInt(error.response && error.response.status) 
            switch (code) {
    
            	//错误代码 
                case 401: 
                    sessionStorage.clear(); 
                    redirect('/login') 
                    break; 
                case 403: 
                    sessionStorage.clear(); 
                    redirect('/login') 
                    break; 
                case 404: 
                    sessionStorage.clear(); 
                    break; 
                case 500: 
                    Message.error("Server exception"); 
                    break; 
                case 502: 
                    Message.error("Bad Gateway"); 
                    break; 
                case 503: 
                    Message.error(error.message); 
                    break; 
                case 504: 
                    Message.error(error.message); 
                    break; 
                default: 
                    break; 
            } 
    }) 
  } 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/1731.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论