随笔 - 67  文章 - 0  评论 - 0  阅读 - 19870 

1,request.js

复制代码
function commonAjax(method, url, params, done) {
    // 统一转换为大写便于后续判断
    method = method.toUpperCase()
    // 对象形式的参数转换为 urlencoded 格式
    let pairs = []
    for (let key in params) {
        pairs.push(key + '=' + params[key])
    }
    let querystring = pairs.join('&')
    let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new
        ActiveXObject('Microsoft.XMLHTTP')
    xhr.addEventListener('readystatechange', function () {
        console.log(this.readyState)
        if (this.readyState !== 4)
            return
        try {
            done(JSON.parse(this.responseText))
        } catch (e) {
            done(this.responseText)
        }
    })
    if (method === 'GET') {
        url += '?' + querystring
    }
    xhr.open(method, url)
    
    let data = null
    if (method === 'POST') {
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        data = querystring
    }
    xhr.send(data)
}
复制代码

2,使用request.js

commonAjax("post", url, params, function (data) {})

 

上一篇html为例:

<script src="../js/request.js"></script>
复制代码
    function getRunData() {
      // 处理滚动条引起的宽度 默认无滚动条
      document.getElementsByClassName("table-content-fixed")[0].style = "";
      // 获取查询参数
      let params = {
        brand: document.getElementsByName("brand")[0].value,
        script: document.getElementsByName("script")[0].value,
        show: document.getElementsByName("orderShow")[0].checked,
        text: document.getElementsByName("text")[0].value,
        currentPage: currentPage,
        pageCount: 10,
      };
      let url = "";
      commonAjax("post", url, params, function (data) {
        if (data.code != 1) {
          console.log(data.msg);
        } else {
            let runDataList = data.result;
          // 处理滚动条引起的宽度 长度大于9出现滚动条
          if (runDataList.length > 9) {
            document.getElementsByClassName("table-content-fixed")[0].style =
              "width:calc(100% - 8px)";
          }
          // 清空执行结果
          let tbody = document.getElementsByTagName("tbody")[0];
          tbody.innerHTML = "";
          // 挂载执行结果
          runDataList.forEach((item, index) => {
            let tr = document.createElement("tr");
            for (let key in item) {
              let td = document.createElement("td");
              td.width = "125px";
              td.innerHTML = item[key];
              tr.appendChild(td);
            }
            tbody.append(tr);
          });
        }
      });
    }
复制代码

 

 
posted on   Zoie_ting  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示