特点及区别:
-
1.axios是一个专一的异步请求框架,用于封装底层的XMLHttpRequest,类似于之前ajax,而 jquery:只是顺便封装了dom操作
-
2.axios是基于承诺对象(promise)的,也就是可以使用承诺对象中的方法(then,catch,finally)
每次发送axios请求,返回值为promise对象
axios().then()
axios.all()
jquery不基于承诺对象 -
3.axios对响应数据进行了二次封装
$.ajax({
url:'',
success:function(data){
data->java后台返回的数据,但是不同的人员对后台的数据封装不同
}
})
axios().then(response=>{
//response:是axios二次封装的相应对象
response:{
status
statusText
data:
config:请求的配置信息
}
})
-
4.axios发送post请求携带参数,参数默认以json字符串形式发送,也就是请求头的默认格式为:contentType:“application/json”
而ajax中的post方式:默认发送的是查询字符串,也就是说请求头的默认格式为:contentType:“application/x-www-form-urlencoded”查询字符串 name=lisi&age=20 json:{ "name":"lisi", "age":20 } json:前后台交互
问题:如何给后台发送查询字符串格式的数据?
将对象转换为查询字符串
1. 第三方模块:
Qs.stringify(obj)
2.node中的内置模块
querystring
3.jquery
$.param(obj)
真正发送查询字符串:
1.手动转换为查询字符串,
2.设置请求头信息contentType
问题:如何给后台发送json字符串格式的数据?
将对象转换成json字符串
JSON.stringify(obj)