<script>
// Ajax 想要实现浏览器与服务器之间的异步通信,需要依靠 XMLHttpRequest,它是一个构造函数
const url = "https://api.vvhan.com/api/douban";
// const url = "http://129.226.179.254/douban/index.php";
const xhr = new XMLHttpRequest();
// 当获取到响应后,会触发 xhr 对象的 onreadystatechange 事件,可以在该事件中对响应进行处理
xhr.onreaadystatechange = () => {
// readystatechange 事件监听 readyState 这个状态的变化
if (xhr.readyState !== 4) {
return;
}
// 如果监听的readyState是4,意思就是完成。
// 已经接收到全部响应数据,而且已经可以在浏览器中使用了
// 还需要结合状态码做最终的判断, 状态码会放在 xhr.status 里面
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
console.log("已经成功接收到数据");
// 正常响应的数据, 会放在 xhr.responseText 里面
console.log(xhr.responseText);
}
};
// 准备发送请求, 三个参数, 第一个是请求方法, 第二个是请求的地址, 第三个是是否异步, true 代表异步
xhr.open("GET", url, true);
// 调用 send() 正式发送请求
// send() 的参数是通过请求体携带的数据,send里面的参数可以传也可以不传
xhr.send(null);
</script>