52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
|
|
var rsp_ajax = {};
|
|
|
|
rsp_ajax.x = function () {
|
|
if (typeof XMLHttpRequest !== 'undefined') {
|
|
return new XMLHttpRequest();
|
|
}
|
|
var versions = [
|
|
"MSXML2.XmlHttp.6.0",
|
|
"MSXML2.XmlHttp.5.0",
|
|
"MSXML2.XmlHttp.4.0",
|
|
"MSXML2.XmlHttp.3.0",
|
|
"MSXML2.XmlHttp.2.0",
|
|
"Microsoft.XmlHttp"
|
|
];
|
|
|
|
var xhr;
|
|
for (var i = 0; i < versions.length; i++) {
|
|
try {
|
|
xhr = new ActiveXObject(versions[i]);
|
|
break;
|
|
} catch (e) {
|
|
}
|
|
}
|
|
return xhr;
|
|
};
|
|
|
|
rsp_ajax.send = function (url, callback, method, data, async) {
|
|
if (async === undefined) {
|
|
async = true;
|
|
}
|
|
var x = rsp_ajax.x();
|
|
x.open(method, url, async);
|
|
x.onreadystatechange = function () {
|
|
if (x.readyState == 4) {
|
|
callback(x.responseText)
|
|
}
|
|
};
|
|
if (method == 'POST') {
|
|
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
|
}
|
|
x.send(data)
|
|
};
|
|
|
|
rsp_ajax.get = function (url, data, callback, async) {
|
|
var query = [];
|
|
for (var key in data) {
|
|
query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
|
|
}
|
|
rsp_ajax.send(url + (query.length ? '?' + query.join('&') : ''), callback, 'GET', null, async)
|
|
};
|