记录一下今天学习的axios基础内容
1.axios概述:
axios是一个基于promise的HTTP库,可以用于node.js和浏览器中,用来发送异步请求的框架
2.axios与jquery的区别:
1.axios是一个专一的异步请求框架;
jquery专门封装dom操作(axios会比jquery更好,因为它是只专注于做异步请求)
2.axios基于promise承诺对象,而jquery不是
axios能够处理并发请求
3.axios可以将响应数据进行二次封装
封装格式:
data:{
params:后台响应数据
}, //后台返回的数据
status:200, //状态码
statusText: 'OK', //状态信息
headers:{}, //服务器头部信息
config:{}, //axios对request的配置
request:{} //request对象
4.axios发送post请求时,默认封装成json字符串
jquery默认封装成查询字符串
查询字符串:name=lisi&age=20
json字符串:{
"name":'lisi',
"age":20
}
3.使用
1.底层api:
axios(config)//直接发送请求
axios.create()//创建实例对象
request=axios.create(config);
request.get()
config:{
url:
method://请求方式
baseURL://基路径
headers://请求头信息content-type/Authorization
params//用于get请求传参数,拼接到地址栏上
data//用与post请求传参,data封装到请求体中,默认json格式
}
调用axios发送请求之后,会返回一个承诺对象
axios({}).then(response=>{
console.log(response);
})
//axios使用底层api
var baseURL='http://121.41.228.5';
var url='/user/login';
var data = {
username:'admin1',
password:'123321'
}
axios({
url,
baseURL,
method:'POST',
data
}).then(response=>{
console.log("axios:",response);
});
2.简写api:
可以通过axios/axios的实例对象使用get()或者post()写
get():
axios.get()
request.get()
//使用axios.get()
axios.get(baseURL+'/baseUser/pageQuery',{
params:{
page:1,
pageSize:10
},
headers:{
"Authorization":token
}
}).then(response=>{
console.log("分页数据:",response);
});
//使用request()
var request=axios.create({
params:{
page:1,
pageSize:10
},
headers:{
"Authorization":token
}
});
request.get(baseURL+'/baseUser/pageQuery').then(response=>{
console.log("分页数据:",response);
});
axios的post()用法与get()用法差不多,但是要注意的是使用时数据是转为查询字符串格式还是json格式