使用promise封装ajax操作简易版本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>promise封装 AJAX 操作</title>
</head>
<body>
<div>
<button id="btn">点击发送AJAX</button>
</div>
<script>
//接口地址 url
//获取元素对象
const btn = document.querySelector('#btn');
btn.addEventListener('click',function(){
//创建promise
const p = new Promise((resolve,reject) =>{
//1.创建对象
const xhr = new XMLHttpRequest();
//2.初始化
xhr.open('GET','url');
//3.发送请求
xhr.send();
//4.处理响应结果
xhr.onreadystatechange = function(){
if(xhr.readyState === 4)
{
//判断响应状态码
if(xhr.status >= 200 && xhr.status < 300){
//控制台输出响应体
resolve(xhr.response)
}else{
//控制台输出响应状态码
reject(xhr.status)
}
}
}
});
//调用then方法
p.then(value =>{
console.log(value);
}, reason =>{
console.warn(reason);
})
})
</script>
</body>
</html>