vue request intercepted response is provided to intercept

    First, create a new file in the src http.js project, copy the following code into it

Axios from Import 'Axios' 
Import the Message {,} Loading from 'UI-Element'; 
Import from Router './router' 

the let // loading loading variables defined 

function startLoading () {// method using loading-start Element 
    loading = Loading .service ({ 
        Lock: to true, 
        text: 'loading ...', 
        background: 'RGBA (0, 0, 0, 0.7)' 
    }) 
} 
function endLoading () {// method using Element loading-close 
    loading. Close () 
} 

// request interceptor disposed unified header 
axios.interceptors.request.use (config => { 
    // load 
    startLoading () 
    IF (localStorage.eleToken) 
        config.headers.Authorization = localStorage.eleToken
    config return 
}, error => {
    Promise.reject return (error) 
}) 

// response processing interceptor 401 token expires 
axios.interceptors.response.use (Response => { 
    endLoading () 
    return Response 
}, error => { 
    // an error alert 
    endLoading () 
    Message.Error An (error.response.data) 

    const {Status} error.response = 
    IF (Status == 401) { 
        Message.Error An ( 'token value is invalid. Please re-login') 
        // clear token 
        localStorage.removeItem ( 'eleToken') 

        / / page jump 
        router.push ( '/ Login') 
    } 

    return Promise.reject (error) 
}) 

Export default Axios

  Second, the introduction of main.js

 

Guess you like

Origin www.cnblogs.com/WangXinPeng/p/11274070.html