ajax、fetch、axios三者有什么区别?

170 阅读1分钟

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

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