这个函数处理的比较出色,放到JS里方便调用,bg_Ajax_gGetXmlHttpRequest这个返回浏览器的类型,而后一个函数主要是通过传递一些参数返回你需要的数据url是要提交到的网址PostData数据,至于CALLBACK是是否返回数据.
function bg_Ajax_GetXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
if (window.Ajax_XMLHttpRequestProgID) {
return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
} else {
var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < progIDs.length; ++i) {
var progID = progIDs[i];
try {
var x = new ActiveXObject(progID);
window.Ajax_XMLHttpRequestProgID = progID;
return x;
} catch (e) {
}
}
}
}
return null;
}
function bg_Ajax_Callback(url, postData, callback)
{
var x = bg_Ajax_GetXMLHttpRequest();
var result = null;
if (!x) {
result = { "value":null, "error": "NOXMLHTTP"};
if (debugErrors) {
alert("error: " + result.error);
}
if (clientCallBack) {
clientCallBack(result);
}
return result;
}
x.open("POST", url, callback ? true : false);
x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
if (callback) {
x.onreadystatechange = function() {
var result = null;
if (x.readyState != 4) {
return;
}
callback(x.responseText)
}
}
x.send(postData);
}
本文转自
http://www.cnblogs.com/lucangel/archive/2006/07/19/454926.html
发表于 @ 2007年10月19日 10:30:00|评论(loading...)|编辑