首先,根据 XMLHttpRequest 生成一个对象, 然后配置 url, 设置状态监听函数,设置错误监听,设置响应数据类型,设置请求头,发送请

// 基于promise 封装一个 ajax

function getJSON(url) {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();

    // 设置一个连接
    xhr.open("GET", url);
    // 设置请求头
    xhr.setRequestHeader("Accept", "application/json");
    // 设置响应数据类型
    xhr.responseType = "json";

    // 设置错误监听
    xhr.onerror = function () {
      reject(this.statusText);
    };

    // 设置状态监听
    xhr.onreadystatechange = function () {
      if (this.readyState !== 4) return;

      if (this.status === 200) resolve(this.response);
      else reject(new Error(this.statusText));
    };

    // 发送请求
    xhr.send(null);
  });
}

// 测试
getJSON("https://httpbin.org/get?name=acwink").then((res) => {
  console.log(res);
});