Axios

**

Axios

**
- 基本用法:
// 注意:这里的res形参是约定俗成的,是response的意思,里面是与本次请求相关的响应信息,并不是最终的响应数据
axios.get(‘http://localhost:3000/someapi’).then((res) => {
console.log(res.data) // 通过res.data获取最终的响应数据
})

常用API:

  • get:获取
  • delete:删除
  • post:添加
  • put:修改
  • 传参:
    • get|delete:
      • 语法:axios.get|delete(url, config)
      • get和delete语法都一样,仅方法名不一样
      • x-www-form-urlencoded:/someapi?name=zs&age=18
      • RestFul:/someapi/zs/18
      • params选项:axios.get|delete(url, { params: { name: ‘zs’, age: 18 } })
        • 这种方式和x-www-form-urlencoded是一样的,二者推荐使用这个
      • 补充说明:其实x-www-form-urlencoded和RestFul可以混合使用,比如:/someapi/zs?age=18
    • post|put:
      • 语法:axios.post|put(url, data, config)
      • post和put语法都一样,仅方法名不一样
      • 请求地址都支持x-www-form-urlencoded和RestFul的形式
      • 传递参数时,和get与delete有区别,第二个参数直接就是请求数据,如:axios.post|put(url, { name: ‘zs’, age: 18 }, config),而get与delete的第二个参数是配置对象,配置对象里面的params选项才是真正的x-www-form-urlencoded形式的请求数据,而post和put的第三个参数才是配置对象
      • JSON:axios.post|put(url, { name: ‘zs’, age: 18 })
      • x-www-form-urlencoded:
        const data = new URLSearchParams()
        data.append(‘name’, ‘zs’)
        data.append(‘age’, 18)
        axios.post|put(url, data)
  • 响应结果(axios将真正的响应数据包装在响应结果对象中了):
    • data:实际的响应数据
    • status:HTTP状态码
    • config:axios相关配置对象
    • headers:响应头信息
    • statusText:响应文本信息

全局配置:

  • timeout:不是延迟发送ajax请求的时间,而是响应超时时间,单位(毫秒),也就是说,如果请求发出去后,在指定的时间内还没有响应,那么就GG了
  • baseURL:基准请求地址,可以统一管理基准请求地址,快速切换请求服务器,在变更后台接口环境的时候,很方便,配置了基准请求地址,在每次调用axios API 发送ajax请求时,就无须携带请求地址前缀了。
  • headers:请求头信息,通常用来发送token令牌

拦截器(可以在这里处理一些公共的业务)

  • 请求拦截器:
    • 语法:axios.interceptors.request.use((config) => { return config }, (err) => {})
    • 配置了请求拦截器后,在每个请求发出去之前都会先进入请求拦截器
    • 可以在请求拦截器的成功函数中获取的当前的配置对象config,在这里可以基于现有的config做一些修改,返回值会作为最终的请求配置
  • 响应拦截器:
    • 语法:axios.interceptors.response.use((res) => { return res }, (err) => {})
    • 配置了响应拦截器后,在每个请求响应之前都会先进入响应拦截器
    • 可以在响应拦截器的成功函数中获取当前的响应结果,可以在这里,基于现有响应结果做调整或格式化,返回值会作为最终的响应结果(不建议在响应拦截器中把部分响应信息吃掉,比如只返回res.data,如果需要获取到除了响应数据之外的其他结果,就不友好了)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值