三者都用于网络请求,但是不同维度
- Ajax,一种技术统称
- Fetch,一个具体的 API
- Axios,第三方库
面试题:用XMLHttpRequest 实现 Ajax
funcion 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
fetch(url).then(res => res.json())
Axios
- 最常用的网络请求的第三方库
- 内部可用 XMLHttpRequest 和 Fetch 来实现