Ajax Fetch Axios三者的区别
- 三者都用于网路请求,但是不同维度
- 1,Ajax(Asynchronous Javascript and XML),一种技术统称
- 2,Fetch,一个具体的API
- 3,Axios,第三方库https://axios-http.com/,库是通过API来实现的
- 面试题:用XMLHttpRequest实现Ajax
*/
function ajax1(url,successFn) {
const xhr = new XMLHttpRequest()
xhr.open(“GET”, url, false)
xhr.onreadystatechange = function () {
// 这里的函数异步执行,可参考之前JS基础中的异步模块
if(xhr.readyState == 4) {
if (xhr.status == 200){
successFn(xhr.responseText)
}
}
}
xhr.send(null)
}
function ajax2(url) {
return fetch(url).then(res => res.json())
}
// 可以用XML HttpRequest来实现ajax,也可以用fetch来实现ajax
/**
- XMLHttpRequest和fetch一样,也是一个全局的基础的API
- fetch出现之前,都是用的XMLHttpRequest
- Fetch
- 1,浏览器原生API,用于网络请求
- 2,和XMLHttpRequest一个级别,
- 3,Fetch语法更加简洁、易用,支持Promise
- Axios
- 1,最常用的网络请求lib(随着Vue火爆起来)
- 2,内部可用XMLHttpRequest和Fetch来实现
- 答案:都是和网络请求相关,是不同维度的
- 1,Ajax,一种技术统称
- 2,Fetch,一个原生API
- 3,Axios,一个第三方库
- 划重点
- lib库和API的区别
- API是原生的函数,lib是第三方的工具,需要用API来实现
- 实际项目中,使用现成的lib,尽量不要自己造轮子
- 但读源码、造轮子是很好的个人学习方式
*/