• axios拦截器


    我们在做一些项目的时候都会有一个登陆页面和很多的详情的页面,包括我们现在看到的很多的页面也是一样的,但是,如果说我们在还没有登录的时候,详情等其他的页面就开始报出重大的错误,那么我们肯定不能够展现给我们的用户看,因为一旦有报错,我们的一些功能一些页面都是报红根本就看不了,所以当报错的时候我们还是返回登录页面并且给用户提示,这个时候我们就用到了我们的axios拦截器.axios拦截器能够更好的帮我们处理这个问题,axios拦截器在任何的框架中也是很受欢迎的所以我们在那个框架中都可以进行使用只是我们存放的文件位置不一样,我们先说一下进行安装axios的命令:npm install axios --save   这个命令不管是react,还是Vue都可以使用,我们先看一下react的文件结构:

    们的文件结构就是这样,vue的也可以这样放,我们下面来看一下代码:

    import axios from 'axios'
    
    // axios 配置
    axios.defaults.timeout = 5000
    axios.defaults.baseURL = ''
    
    
    // http request 拦截器
    axios.interceptors.request.use(
      config => {
        // config.headers.Authorization = `token ${store.state.token}`
    
        return config
      },
      err => {
        return Promise.reject(err)
      },
    )
    
    // http response 拦截器
    axios.interceptors.response.use(
      response => {
        return response
      },
      error => {
    
        if (error.response) {
          switch (error.response.status) {
            case 404:
              // 404 清除token信息并跳转到登录页面
              localStorage.removeItem('mobile');
              
              // window.location.href='/login'
            
          }
        }
        // console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
        return Promise.reject(error.response.data)
      },
    )
    
    export default axios

    我们的axios拦截器的代码就是如上所诉的,我们在请求一些网络数据的时候就会有很长的地址这个axios.defaults.baseURL就可以更好的帮我们解决,我们将网络请求的地址的相同部分放到这里,然后我们在请求的时候就会很轻松,不需要写那么长了.

    如果我的这篇文章为正在观看的你带来了帮助并且您非常喜欢这篇文章,请给我一个关注和一个喜欢(赞),谢谢!!!

  • 相关阅读:
    MSSQL_打开xp_cmdshell
    想在win7 32bit的情况下装个64位虚拟机的想法
    查看系统已运行了多久
    sql弄个表结构出来..
    在win下的cmd 的find
    告别google.com.hk的龟速
    VC常用数据类型使用转换详解
    C++中的文件输入/输出ios:xx eat Processing(zz)
    X86汇编语言学习手记(1)
    程序员数据结构笔记
  • 原文地址:https://www.cnblogs.com/xiaoxiaoxiongmao/p/12184509.html
Copyright © 2020-2023  润新知