ajxa和axios的区别

1.axios 原理仍是属于 XMLHttpRequest, 所以须要实现一个ajax。
2.但还会须要一个promise对象来对结果进行处理。
3.ajax实现
var Ajax={ios

get: function(url, fn) {
        // XMLHttpRequest对象用于在后台与服务器交换数据
        var xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.onreadystatechange = function() {
            // readyState == 4说明请求已完成
            if (xhr.readyState == 4 && xhr.status == 200) {
                // 从服务器得到数据
                fn.call(this, xhr.responseText);
            }
        };
        xhr.send();
    }
}

axios实现
var Axios = {ajax

get: function(url) {
        return new Promise((resolve, reject) => {
            var xhr = new XMLHttpRequest();
            xhr.open('GET', url, true);
            xhr.onreadystatechange = function() {
                // readyState == 4说明请求已完成
                if (xhr.readyState == 4 && xhr.status == 200) {
                    // 从服务器得到数据
                    resolve(xhr.responseText)
                }
            };
            xhr.send();
        })
    },
}
相关文章
相关标签/搜索