Skip to content

什么是AJAX

说明

AJAX(Asynchronous JavaScript And XML)指的是在一种用于在不在刷新页面的情况下,向服务器发送请求并获取数据的技术

AJAX的原理

通过JavaScript的 XMLHttpRequest 对象,向服务器发送异步请求获取数据并动态更新页面内容实现局部刷新不需要刷新整个页面的效果。

手写AJAX

javascript
const ajax = (method,url,data,success,fail) => {
  var request = new XMLHttpRequest() // 创建请求对象
  request.open(method,url) // 创建请求,并指定请求方法、URL、验证信息
  // open方法的参数:method、url、async(是否异步)、user、password
  // get方法需要将参数拼接到url上通过encodeURIComponent()
  request.onreadystatechange = function () { // 执行响应任务
    if (request.readyState === 4) {
      if (request.status >= 200 && request.status < 300 || request.status === 304) {
        success(request)
      } else {
        fail(request)
      }
    }
  }
  // 发送请求
  request.send(data) // post请求时,需要传递参数
}

HTTP 304 Not Modified 说明无需再次传输请求的内容,也就是说可以使用缓存的内容。