AJAX

AJAX 是2005年提出的一种术语,并不代表某个特定的技术。

其译名 异步JavaScript和XML 描述出了核心,就是使用 JavaScript 发送异步 HTTP 请求,这样就摆脱了想要和服务端交互,必须刷新页面的痛点。

** XMLHttpRequest 对象**

var xhr = new XMLHttpRequest();

这样就获得到了一个 XHR 对象的实例。接下来可以使用他发起请求。

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() { // 当 readyState 改变的时候
  if (xhr.readyState === 4 && xhr.status === 200) { // 判断当前请求的状态 与 请求的状态码
    console.log(xhr.responseText); // 输出服务端返回的内容
  }
}
xhr.open('GET', '/', true); // 设定 GET 请求,请求的路径是 /,并且请求是异步的
xhr.send(); // 发送!

onreadystatechange 是一个事件处理器属性,每次 readyState 改变的时候都会触发。

如果 readyState 为 4,即请求已经完成,并且状态码是 200,表示请求结束并且服务端成功响应。

响应成功,通过 responseText 获取到服务端响应的内容。

通过 open 方法,设置请求的方法、路径等,例子中设置了 / 路径,如果当前站点的域名是 imooc.com,则请求地址就是 imooc.com/,拿到的数据应该会是网站首页的 HTML。

然后通过 send 方法发送请求,发送后 readyState 会在各个阶段发送改变,然后调用 onreadystatechange。

这是一个 AJAX 请求较为基本的流程。

现代网页的构成几乎离不开 AJAX 技术,如果 JavaScript 无法发起 HTTP 请求,几乎所有的现代网站都会瘫痪,变得难用。

posted @ 2022-08-25 14:20  神奇名字  阅读(23)  评论(0)    收藏  举报