zoukankan      html  css  js  c++  java
  • axios 设置拦截器 全局设置带默认参数(发送 token 等)

    应用场景:

    1,每个请求都带上的参数,比如token,时间戳等。

    2,对返回的状态进行判断,比如token是否过期

    代码如下:

    [javascript] view plain copy

    1. axios.interceptors.request.use( 
    2.         config => { 
    3. var xtoken = getXtoken() 
    4. if(xtoken != null){ 
    5.                 config.headers['X-Token'] = xtoken 
    6.             } 
    7. if(config.method=='post'){ 
    8.                 config.data = { 
    9.                     ...config.data, 
    10.                     _t: Date.parse(new Date())/1000, 
    11.                 } 
    12.             }else if(config.method=='get'){ 
    13.                 config.params = { 
    14.                     _t: Date.parse(new Date())/1000, 
    15.                     ...config.params 
    16.                 } 
    17.             } 
    18. return config 
    19.         },function(error){ 
    20. return Promise.reject(error) 
    21.         } 
    22.     ) 
    23. axios.interceptors.response.use(function (response) { 
    24. // token 已过期,重定向到登录页面
    25. if (response.data.code == 4){ 
    26.         localStorage.clear() 
    27.         router.replace({ 
    28.                         path: '/signin', 
    29.                         query: {redirect: router.currentRoute.fullPath} 
    30.                     }) 
    31.     } 
    32. return response 
    33. }, function (error) { 
    34. // Do something with response error
    35. return Promise.reject(error) 
    36. }) 
  • 相关阅读:
    Jedis 源代码阅读一 —— Jedis
    Java中的${pageContext.request.contextPath}
    VMware Workstation 12 安装mac os x 10.11
    机器学习——朴素贝叶斯分类器
    Codeforces 138C(区间更新+离散化)
    Threejs 官网
    深刻理解Nginx之Nginx完整安装
    Apache + Tomcat 负载均衡 session复制
    小P寻宝记——好基友一起走
    C++数值类型极限值的获取
  • 原文地址:https://www.cnblogs.com/mouseleo/p/8262421.html
Copyright © 2011-2022 走看看