/*********************************************/
/* @author :wjj */
/* @version 0.0.1 */
/* @function: Get and Post Data by XmlHttp */
/*********************************************/
/*********************************************/
/*使用方式var myxmlhttp = new xmlHttpObj();
/*myxmlhttp.GetRemoteData(url, DataType);
/*********************************************/
function xmlHttpObj()
{
var xmlhttp = null;
try
{
xmlhttp = new ActiveXObject('MSXML2.XMLHTTP');
}
catch(e)
{
try
{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e2)
{
xmlhttp = new XMLHttpRequest();
}
}
//********************对外接口**************************************************//
//同过GET方式,返回需要的数据
//url:
//DataType:需要返回的数据类型格式[xml/text]
//data:传递给目标的数据
this.GetRemoteData = function(url, DataType)
{
if(DataType=="xml")
return receiveremoteDataXml(url, null, 'GET', null);
else
return receiveRemoteData(url, null, 'GET', null);
}
///同过GET方式,返回需要的数据,并对返回的数据自动处理
//url:
//callback:回调方法
//DataType:需要返回的数据类型格式[xml/text]
//data:传递给目标的数据
this.GetRemoteData = function(url, callback, DataType)
{
if(DataType=="xml")
return receiveremoteDataXml(url, callback, 'GET', null);
else
return receiveRemoteData(url, callback, 'GET', null);
}
//同过POST方式,返回需要的数据
//url:
//DataType:需要返回的数据类型格式[xml/text]
//data:传递给目标的数据
this.PostRemoteData = function(url, DataType, data)
{
if(DataType=="xml")
return receiveremoteDataXml(url, null, 'POST', data);
else
return receiveRemoteData(url, null, 'POST', data);
}
//同过POST方式,返回需要的数据,并对返回的数据自动处理
//url:
//callback:回调方法
//DataType:需要返回的数据类型格式[xml/text]
//data:传递给目标的数据
this.PostRemoteData = function(url, callback, DataType, data)
{
if(DataType=="xml")
return receiveremoteDataXml(url, callback, 'POST', data);
else
return receiveRemoteData(url, callback, 'POST', data);
}
//********************私有方法************************************************************//
function receiveRemoteData(url, callback, httpmethod, data)
{
if(!xmlhttp)
{
return null;
}
xmlhttp.open(httpmethod,url,true);
if(!callback)
{
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
return xmlhttp.responseText;
}
}
}
else
{
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
callback(xmlhttp.responseText);
}
}
}
xmlhttp.send(data);
}
function receiveremoteDataXml(url,callback,httpmethod,data)
{
if(!xmlhttp)
{
return null;
}
xmlhttp.open(httpmethod,url,true);
//
//配置Header
//
//xmlhttp.setRequestHeader("","");
if(!callback)
{
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
return xmlhttp.responseXML.documentElement;
}
}
}
else
{
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
callback(xmlhttp.responseXML.documentElement);
}
}
}
xmlhttp.send(data);
}
}