原生post请求

ajax: function(opt) {
        opt = opt || {};
        opt.method = opt.method.toUpperCase() || 'POST';
        opt.url = opt.url || ''; //请求地址
        opt.async = opt.async || true; //是否异步请求
        opt.data = opt.data || null; //传输数据
        opt.success = opt.success || function() {}; //服务器响应成功进行相应的处理
        var xmlHttp = null;
        if (XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest(); //服务器请求对象
        } else {
            xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); //兼容微软请求对象
        }
        var params = [];
        for (var key in opt.data) {
            // params.push(key + '=' + opt.data[key]);
            params.push(encodeURIComponent(key) + '=' + encodeURIComponent(opt.data[key]));
        }
        var postData = params.join('&');
        if (opt.method.toUpperCase() === 'POST') {
            //请求方法为POST,则执行如下操作
            xmlHttp.open(opt.method, opt.url, opt.async);
            xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
            xmlHttp.send(postData);
        } else if (opt.method.toUpperCase() === 'GET') {
            //请求方法为GET,则执行如下操作
            xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async);
            xmlHttp.send(null);
        }
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                //响应是否成功
                var data = JSON.parse(xmlHttp.responseText);
                opt.success(data);
            }
        };
    },
原文地址:https://www.cnblogs.com/qianduanjingying/p/11483989.html