手写一个简单的 AJAX

368 阅读1分钟

AJAX是什么?

Ajax是一种技术方案,而不是一种新技术,依赖的依旧是前端三件套,最核心的依赖就是浏览器提供的XMLHttpRequest对象,可以让浏览器发出HTTP请求和接收HTTP响应。

也就是说:我们使用XMLHttpRequest对象发送一个Ajax请求。

总结:用JS发请求和收响应(这就是AJAX的全部内容)

用来做什么?

  • 浏览器可以发请求,收响应
  • 浏览器在window上加了一个XMLHttpRequest函数
  • 用这个函数(类)可以构造出一个对象
  • JS通过它实现发请求,收响应

代码实现:

const ajax = (method, url, data, success, fail) => {
  var request = new XMLHttpRequest()
  request.open(method, url);
  request.onreadystatechange = function () {
    if(request.readyState === 4) {
      if(request.status >= 200 && request.status < 300 || request.status === 304) {
        success(request)
      }else{
        fail(request)
      }
    }
  };
  request.send();
}