# ajax
- ajax是针对MVC的编程,不符合当前前端MVVM的趋势
- 基于原生的XHR开发,XHR本身架构不清晰,现在已经有了fetch的替代方案
- 使用ajax需要引入jQuery,jQuery很大
# axios
- 从node.js中创建http请求
- 支持Promise API
- 客户端支持放在CSRF
- 提供了一些并发请求接口
本质
ajax技术实现了网页的局部数据刷新
axios是通过promise实现了对ajax的封装
# promise实现ajax简单封装
const myAjax = function(url) {
return new Promise((resolve, reject) => {
let xhr = XMLHttpRequest() // 实例化
xhr.open('get', url, true)
xhr.send()
xhr.onreadystatechange = function() {
if(xhr.readyState === 4){
if(xhr.status === 200){
resolve(JSON.parse(xhr.responseText))
}else {
reject('error')
}
}
}
})
}
← 事件循环 let、var、const区别 →