自定义ReqUtil.js工具

以上代码为 前端同事遗留代码分享,我一般都是用 ajax,第一次看见这么写的。
系统后台定义的返回报文

前端请求后台接口后,后台返回的固定格式:
{
    "code":"200",
    "msg":"返回消息",
    "data":"返回数据"
}

前端自定义js 请求封装util工具

​
const utils = {
  dopost: function (path, pramas, callback) {
    var xmlhttp = XMLHttpRequest
      ? new XMLHttpRequest()
      : new ActiveXObject("Microsoft.XMLHTTP");
    var onXmlhttpStateChange = function () {
      if (xmlhttp.readyState === 4) utils.onGetResponse(xmlhttp, callback);
    };
    xmlhttp.open("POST", path, true);
    xmlhttp.setRequestHeader("content-type", "application/json");
    xmlhttp.send(JSON.stringify(pramas));
    xmlhttp.onreadystatechange = onXmlhttpStateChange;
  },
  doget: function (path, callback) {
    var xmlhttp = XMLHttpRequest
      ? new XMLHttpRequest()
      : new ActiveXObject("Microsoft.XMLHTTP");
    var onXmlhttpStateChange = function () {
      if (xmlhttp.readyState === 4) utils.onGetResponse(xmlhttp, callback);
    };
    xmlhttp.open("GET", path, true);
    xmlhttp.send();
    xmlhttp.onreadystatechange = onXmlhttpStateChange;
  },
  checkJsonResponse: function (res, callback) {
    if (res.code === "500" || res.code === 500) {
      utils.message("错误:" + res.msg || "服務器異常!");
    } else {
      callback(res);
    }
  },
  
  onHttpSuccess: function (response, callback) {
    var res = {};
    var isJson = 1;
    var handler = [utils.checkJsonResponse];
    try {
      res = JSON.parse(response);
    } catch (e) {
      isJson = 0;
    }
    handler[isJson](res, callback);
  },
  onGetResponse: function (xmlhttp, callback) {
    if (xmlhttp.status === 200) {
      utils.onHttpSuccess(xmlhttp.response, callback);
    } else {
      utils.message("错误:" + xmlhttp.response);
    }
  },
  message: function (str) {
    window.alert(str);
  },
};

​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值