微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax的get post request的封装

let axios = {
  get (url, data) {
    // data穿递参数需要拼接
    if (data) {
      let param = '?';
      for (let attr in data) {
        param += attr + '=' + data[attr] + '&';
        console.log(attr)
      }
      url += param;
    }
    return this.request('get', url);
  },
  post (url, data) {
    let param = '';
    if (data) { //{id:1,info:22}
      for (let attr in data) {
        param += attr + '=' + data[attr] + '&';
      }
      // id=1&info=2
    }
    return this.request('post', url, param);
  },
  request (type, url, data) {
    return new Promise((resolve, reject) => {
      let xhr = new XMLHttpRequest();
      xhr.open(type, url);
      // 判断是否为post请求
      type == 'post' && xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
      xhr.send(data);
      // 监听ajax状态接收返回值
      xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) { // ajax的状态
          if (xhr.status == 200) {
            resolve(xhr.response) // 成功
          } else {
            reject(xhr.response);  // 失败
          }
        }
      }
    })
  }
};

// 获取节点的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐