博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
axios使用总结(一)
阅读量:4111 次
发布时间:2019-05-25

本文共 2486 字,大约阅读时间需要 8 分钟。

1、baseURL、timeout

axios.create({ baseURL:'', timeout:500     // 链接超时  当发送时间超过1秒就不再发送了})

2、transformRequest 在发送到服务器前,对参数进行拦截、修改请求数据

axios.create({    baseURL:'',     transformRequest: [function (data) { // `transformRequest` 允许在向服务器发送前,修                        改请求数据 // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法     data.sex = 'man'     return qs.stringify(data) // 结合create_headers里的内容,在这里又新增一条信息sex=man         // 因此network中查看的结果是:name=xiaoming&age=12&sex=man     }], })

3、transformResponse 在传递给 then/catch 前,允许修改响应数据 

let http = axios.create({    baseURL: 'https://www.easy-mock.com/mock/5d41580a1a802c0d5e53dcc2/example/',    // 可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL    transformResponse: [function (data) {      // `transformResponse` 在传递给 then/catch 前,允许修改响应数据      data = '2222'      return data    }]  })

4、interceptors 请求拦截器

instance.interceptors.request.use(  config => {    const token = sessionStorage.getItem('token')    if (token ) { // 判断是否存在token,如果存在的话,则每个http header都加上token      config.headers.authorization = token  //请求头加上token    }    return config  },  err => {    return Promise.reject(err)  })

5、interceptors 响应拦截器

// http response 拦截器instance.interceptors.response.use(  response => {    //拦截响应,做统一处理     if (response.data.code) {      switch (response.data.code) {        case 1002:          store.state.isLogin = false          router.replace({            path: 'login',            query: {              redirect: router.currentRoute.fullPath            }          })      }    }    return response  },  //接口错误状态处理,也就是说无响应时的处理  error => {    return Promise.reject(error.response.status) // 返回接口返回的错误信息  })

6、axios.all

getUrl () {        return axios.get('https://www.easy-mock.com/mock/5d41580a1a802c0d5e53dcc2/example/aa')      },      postUrl () {        return axios.post('https://www.easy-mock.com/mock/5d41580a1a802c0d5e53dcc2/example/bb')      },      allUrl () {        axios.all([this.getUrl(), this.postUrl()])          // 注意里面是一个数组,不要出错          .then(axios.spread((res1, res2) => {            // 注意里面是箭头函数,容易出错            // res1是getUrl获取的, res2是postUrl获取的            console.log(res1.data, res2.data)          }))      }

7、validateStatus状态码

// axios配置  let http = axios.create({    baseURL: 'https://www.easy-mock.com/mock/5d41580a1a802c0d5e53dcc2/example/',    // 可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL    validateStatus: function (status) {      // 更改状态码 不怎么用      return status === 404      // 此时设置成功状态码是404,所以就算地址错误,报404,但依旧会显示请求成功    }  })

 

转载地址:http://gemsi.baihongyu.com/

你可能感兴趣的文章
ubuntu 安装mysql
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输出文件流ofstream用法详解
查看>>
firewalld的基本使用
查看>>
Linux下SVN客户端使用教程
查看>>
Linux分区方案
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>