1.axios是什么
Axios 是一个基于 Promise 的 HTTP 库,主要实现 ajax异步通信功能,用于向后端发起请求,还有在请求中做更多是可控功能;可以用在浏览器和 node.js 中;是请求资源的模块;通过promise对ajax的封装。(ajax是对原生XHR的封装; axios实现对 ajax封装,ajax实现局部数据的刷新) axios与后台交互步骤
简单理解为:封装好的、基于promise的发送请求的方法,因此不用设置回调函数,直接去调用then方法。
属性:url、method、data、responseType、.then、.catch…
2.axios有那些特性
-
在浏览器中创建 XMLHttpRequests
-
在node.js则创建http请求
-
支持Promise API
-
支持拦截请求和响应
-
转换请求和响应数据
-
取消请求
-
自动转换成JSON数据格式
-
客户端支持防御XSRF
-
提供了一些并发请求的接口(重要)
3.执行get请求的两种方式
// 第一种方式:将参数直接写在url中
axios.get('/getMainInfo?id=123')
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
// 第二种方式:将参数直接写在params中
axios.get('/getMainInfo', {
params: {
id: 123
}
})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
4.执行post请求
//注意执行post请求的入参,不需要写在params字段中,这个地方要注意与get请求的第二种方式进行区别
axios.post('/getMainInfo', {
id: 123
})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
5.拦截器的作用:
拦截器的作用就是拦截每一次你的请求和响应,然后进行相应的处理。比如一些网站过了一定的时间不进行操作,就会退出登录让你重新登陆页面,当然这不用拦截器你或许也可以完成这功能,但是会很麻烦而且代码会产生大量重复,所以我们需要用到拦截器。