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);
 }
}
 

如果我想只执行错误回调的部分应该怎样注释 函数定义,该函数执行到POST会报错: checkCloudConn: function(success, fail) { var xmlHttpObj = function(hook) { var xmlHttp = null; try { xmlHttp = new XMLHttpRequest } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") } catch (e) {} } } return xmlHttp.onreadystatechange = function() { 4 == xmlHttp.readyState && hook && hook() } , xmlHttp }(function() { if (200 == xmlHttpObj.status) { var connData; try { connData = JSON.parse(xmlHttpObj.responseText) } catch (e) { return } $.ret = connData.ret, 0 == connData.Status && success ? success() : fail && fail() } else window.location.reload() }); xmlHttpObj.open("POST", window.location.protocol + "//" + window.location.host + "/cgi/checkCloudConn", !0), xmlHttpObj.setRequestHeader("TokenID", $.tokenid || 0), xmlHttpObj.send(null) } 想要修改的部分:if ($.qd.internetDiag!==undefined && $.qd.internetDiag == 3) { $.checkCloudConn(function(){ $('#btn-container').show(); if (userObj.userSetting == 2 && userObj.loginStatus == 2 && userObj.logInCloud == 1) { //已登录 $("p#p-quicksetup-congratulations-info-1").html($.tpLang.quicksetup_nstr.COMPLETE_INFO_EMAIL_PREFIX + userObj.userName); $("div#cloud-account-2").show(); $("div#cloud-account-0").hide(); $("div#cloud-account-1").hide(); $('#btn-next').html('<span>' + $.tpLang.m_str.finish + '</span>'); $('#btn-prev').hide(); $('#btn-container').show(); $.removeLoading(); } else { //设备未登陆云账号 $("div#cloud-account-0").show(); $("div#cloud-account-1").hide(); $("div#cloud-account-2").hide(); $('#btn-container').hide(); onReceive({data:{eType:"ev_goto",url:"login&page=quicksetupLogin"},source:null,origin:"_self"}); } },function(){//error $('#btn-container').show(); $('#btn-next').html('<span>' + $.tpLang.m_str.finish + '</span>'); $("div#cloud-account-1").show(); $("div#cloud-account-0").hide(); $("div#cloud-account-2").hide(); $.removeLoading(); }); } else { $('#btn-container').show(); $('#btn-next').html('<span>' + $.tpLang.m_str.finish + '</span>'); $("div#cloud-account-1").show(); $("div#cloud-account-0").hide(); $("div#cloud-account-2").hide(); $.removeLoading(); } }
12-04
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值