zoukankan      html  css  js  c++  java
  • vue框架中的Axios封装

     
    function axios(options) {
        let promise = new Promise((resolve, reject) => {
            var xhr = new XMLHttpRequest();
            var data = "";
            //数据处理
     
            for (var key in options.data) {
                data += "&" + key + "=" + options.data[key]
            }
     
            if (options.method == "get") {
     
                let url = options.url + "?" + data.slice(1);
                xhr.open(options.method, url);
                xhr.send();
            } else if (options.method == "post") {
     
                xhr.open(options.method, options.url);
                xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
                xhr.send(data);
            }
     
        
            xhr.onreadystatechange = function () { 
                let timer = null;
                let timeout = options.timeout?options.timeout:5000   
                if(xhr.readyState == 4 && xhr.status == 200){
                    let res = JSON.parse(xhr.responseText);
                    clearTimeout(timer);
                    resolve(res);
                }
                 
     
                timer = setTimeout(()=>{
                    clearTimeout(timer);
                    reject(xhr.status);
                },timeout)
                
            }
        })
        return promise;
    }
  • 相关阅读:
    SQL 索引
    SQL 存储
    C#编程中的66个好习惯,你有多少个?
    Delphi中如何让窗口最小化至系统托盘
    浅谈 堆和堆栈
    C#编程中的66个好习惯
    用ADO连接oracle的步骤
    如何卸载ocx包
    数据库中,Decimal数据类型
    [转载]内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区
  • 原文地址:https://www.cnblogs.com/xuazi-7an/p/10640416.html
Copyright © 2011-2022 走看看