ajax-fetch-axios区别

139 阅读1分钟

三者都用于网络请求,但是不同纬度

  • Ajax,一种技术统称
function ajax1(url,successFn){
    const xhr = new XMLHttpRequest()
    xhr.open("GET",url,false)
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            if(xhr.status == 200){
                successFn(xhr.reponseText)
            }
        }
    }
    xhr.send(null)
}
function ajax2(url){
    return fetch(url).then( res => res.json())
}
  • Fetch,一个具体的API
    • 浏览器原生API,用于网络请求
    • 和XMLHttpRequest一个级别
    • Fetch语法更加简洁、易用、支持Promise
  • axios,第三方库
    • 最常用的网络请求lib(随着Vue火爆起来)
    • 内部可用XMLHttpRequest和Fetch来实现
    • Axios,第三方库 www.npmjs.com/package/axi…

lib和API的区别

  • 第三方库和原生方法
  • 实际项目中,使用现成的lib,尽量不要自己造轮子
  • 但读源码、造轮子是很好的个人学习方式