美文网首页
axios拦截器设置

axios拦截器设置

作者: 潼潼爱coding | 来源:发表于2018-12-10 15:58 被阅读0次

    应用场景:
    1:每个请求都带上的参数,比如token,时间戳等。
    2:对返回的状态进行判断,比如token是否过期

    请求

    axios.interceptors.request.use(
      config => {
        const xToken = getXToken()
        if (xToken !== null) {
          config.headers['X-Token'] = xToken
        }
        if (config.method === 'post') {
          config.data = {
            ...config.data, 
            _t: Date.parse(new Date()) / 1000, 
          }
        } else if (config.method === 'get') {
          config.params = {
             _t: Date.parse(new Date()) / 1000, 
             ...config.params 
          }
        }
        return config
      }, function (error) {
        return Promise.reject(error) 
      }
    )
    

    响应

    axios.interceptors.response.use((res) => {
      // token 已过期,重定向到登录页面
      if (res.date.code === 4) {
        localStorage.clear()
        router.replace({
          path: '/sigin',
          query: {redirect: router.currentRoute.fullPath} 
        })
      }
      return res
    }, function(err) {
      return Promise.reject(error) 
    })
    

    相关文章

      网友评论

          本文标题:axios拦截器设置

          本文链接:https://www.haomeiwen.com/subject/fxxdhqtx.html