function doAjax(type, url, isAsync, data, callback) {
var xhr = createXhr();
if (type.toLowerCase() === "get") {
url += "?";
for (var n in data) {
url += n + "=" + data[n] + "&";
}
url = url.substr(0, url.length - 1)
data = null;
} else {
data = JSON.stringify(data);
}
xhr.open(type, url, isAsync);
xhr.send(data);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
xhr.onreadystatechange = function () {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
if (xhr.readyState === 4) {
var data = JSON.parse(xhr.responseText);
callback && callback(data);
}
}
};
}
function createXhr() {
if (typeof XMLHttpRequest !== "undefined") {
return new XMLHttpRequest();
} else {
var args = ["MSXML.XMLHttp.6.0", "MSXML.XMLHttp.3.0", "MSXML.XMLHttp", "Microsoft.XMLHTTP"];
for (var n = 0; n < args.length; n++) {
try {
var xhr = new ActiveXObject(args[n]);
return xhr;
} catch (e) {
console.log(e);
}
}
}
}