xmlHttpObj.js

/*********************************************/
/* @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);
 }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值