var XMLHttp = {
_createXMLHttpRequest : function()
{
if (window.XMLHttpRequest)
{
var objXMLHttp = new XMLHttpRequest();
}
else
{
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
var Count = MSXML.length;
for(var i = 0; i < Count; i ++)
{
try
{
var objXMLHttp = new ActiveXObject(MSXML[i]);
break;
}
catch(e)
{
}
}
}
// mozilla某些版本没有readyState属性
if (objXMLHttp.readyState == null)
{
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function ()
{
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function")
{
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
},
//method 传递方式(GET,POST)
//url http字符串包括查询字符串
//data 发送的数据 没有就传 null或''
//sendtype 请求方式(true 异步 false 同步)
//callback 回调函数
//datatype 编码方式(xml "text/xml",普通 "application/x-www-form-urlencoded; charset=UTF-8"或"application/x-www-form-urlencoded; charset=GB2312")
_sendRequest : function(method, url, data, sendtype, datatype, callback)
{
var objXMLHttp = this._createXMLHttpRequest();
with(objXMLHttp)
{
try
{
// 加随机数防止缓存
if (url.indexOf("?") > 0)
{
url += "&randnum=" + Math.random();
}
else
{
url += "?randnum=" + Math.random();
}
open(method, url, sendtype);
// 设定请求编码方式
//.net环境加charset="GB2312"字段
setRequestHeader("Content-Type", datatype);
send(data);
onreadystatechange = function ()
{
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304))
{
if(callback != null)
{
callback(objXMLHttp);
}
}
}
}
catch(e)
{
alert(e+"/n"+'你的浏览器版本太低,建议你升级浏览器');
}
}
}
}