ajax封装调用

// url:请求地址
// data:发送服务器的请求
// callback:数据类型进行处理或者执行回调函数
// type:post还是get请求,默认为空则自动get

function ajax(url, data, callback, type) {

            if(type == void(0)) type = "get";

            var param = null;
            if(data != null && typeof data == "object") {
                param = obj2str(data);

                if(type == "get") {
                    url += "?" + param;
                    param = null;
                }
            }
            var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
            xhr.open(type, url);
            type == "post" && xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xhr.send(param);
            xhr.onreadystatechange = function() {

                if(xhr.readyState == 4 && xhr.status == 200) {

                    var html = xhr.responseText;
                    
                    if(typeof callback == "function") {

                        callback(html);
                    }
                }
            };
        }

//
// 将 JS 的 Object 类型对象转换为 & 符号连接参数列表字符串
// @param {object} object 比如:{a:1,b:2}
// @returns {string} 比如:a=1&b=2
//

        function obj2str(object) {
            var temp = [];

                for(ns in object) {
                        var val = encodeURIComponent(object[ns]);
                        temp.push(ns + "=" + val);
                    }
            return temp.join("&");
        }
最后修改:2019 年 04 月 09 日 04 : 20 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论