三者都是用于网络请求,但是是不同维度
ajax(Asynchronous Javascript and XML) 一种技术统称
XMLHttpRequest
用XMLHttpRequest实现Ajax
function ajax(url, successFn) {
const xhr = new XMLHttpRequest();
xhr.open("GET",url,false)
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
successFn(xhr.responseText);
}
}
};
xhr.send(null);
}
fetch
- 原生API,语法更加简洁、易用
- 和XMLHttpRequest一个级别
- 支持promise
function ajax(url) {
return fetch(url).then(res=>res.json())
}
axios 第三方库
- 最常用的网络请求lib库
- 内部可用XMLHttpRequest和fetch来实现
通过promise封装了XMLHttpRequest