java axios干啥用的,一个简单的axios使用

什么是axios?

axios是基于promise的Http客户端,简单来讲就是可以通过axios来向后台发送请求,并在请求中做更多的可控功能!由于没有具体的翻译,个人理解的axios的名称由来:ajax i/o system

文档网站

axios的特点

在浏览器中创建 XMLHttpRequests请求

在node中发送http请求

支持promise api

拦截请求数据和响应数据

取消请求

自动转换为JSON格式

客户端支持防御XSRF

axios--post和get

1.get 请求:

5114c18221b1

image.png

2.post请求:

5114c18221b1

image.png

并发请求

1.使用axios.all()来处理并发请求,可以放入多个请求数组

2.axios.all([axios.get('/user/12'),axios.post('/user/34',{config})])返回的是一个数组,使用axios.spread可以将数组展开:[arr1,arr2]==>arr1,arr2

5114c18221b1

image.png

全局配置

事实上在开发中很多参数都是固定的,这个时候可以进行抽取,利用axios的全局配置axios.defaults

axios.defaults.baseURL = '123.207.32.32:8000'

axios.defaults.timeout = 5000

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

axios实例

为什么创建实例,原因是当我们axios模块中导入对象时,使用的是默认的实例,当给这些实例设置默认配置时这些配置就被固定下来了,但后续开发中某些配置或许会不一样,如timeout,content-Type等,这时我们就可以创建新的实例,并传入属于该实例的配置信息

5114c18221b1

image.png

5114c18221b1

image.png

拦截器

1.axios请求拦截器:axios.interceptors.requset.use(callback(config))

2.axios响应拦截器:axios.interceptors.response.use(callback(response))

3.实例请求拦截器:instenceAxios.interceptors.requset.use(callback(config))

4.实例响应拦截器:instenceAxios.interceptors.response.use(callback(response))

5114c18221b1

image.png

封装axios

为什么要对axios进行封装了,原因是如果在项目中对一个第三方库过于依赖的话,当第三方库不进行更新的维护的时候,那么我们的项目更换另一个库或者进行维护会很难,所以我们对axios进行封装,遇到这样的情况就可以只针对我们封装的东西进行修改就行!

//requset.js

//第一步,引入axios模块

import axios from 'axios'

//导出封装函数

expoet default function request(config){

//创建实例

const instance = axios.create({

baseURL = '127.168.0.0.1:8000' ,

timeout = 5000

})

//创建请求拦截器

instance.interceptors.request.use(config=>{

//dosomething

return config

},error=>{

//do something

console.log(error)

})

//创建响应拦截器

instence.interceptors.response.use(res=>{

//do something

return res

},error=>{

console.log(error)

})

//返回该实例,发送真正的请求

return instance(config)

}

可以对网络请求针对不同的页面数据进一步封装,这样就不会显得过于耦合,request.js也不会很臃肿

//home.js

import request from 'request.js'

export homeRequset(type,age){

return request({

url:'/user',

params:{

type,age

}

})

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值