ajax的两种常用调用方式

方式1:

Js代码 

//请求js  

<script language="javascript">  

var _object;  

var xmlhttp = null;  

var interval = null;  

var rtnData = new Array();  

var btype;  

 

//判断浏览器类型  

//ie和firefox对ajax请求回调函数的调用方式不同  

function getOs(){   

 var OsObject = "";   

 if(navigator.userAgent.indexOf("MSIE")>0) {  

  return "MSIE"; //IE浏览器  

 }   

 if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){   

  return "Firefox"; //Firefox浏览器  

 }   

 if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  

  return "Safari"; //Safan浏览器  

 }   

 if(isCamino=navigator.userAgent.indexOf("Camino")>0){   

  return "Camino"; //Camino浏览器  

 }   

 if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){   

  return "Gecko"; //Gecko浏览器  

 }  

}  

 

 

function loadXMLDoc(xmlName,dataTypeId){  

 //动态请求调用地址  

 var ivkUrl = "<%=path%>/jsp/DataRequest/autoFindRtnDataGTS.jsp?xmlName=" + xmlName + "&"+ Math.random();  

 //alert("** ivkUrl = "+ ivkUrl);  

 

 if (window.XMLHttpRequest){  

  xmlhttp=new XMLHttpRequest();  

 }else if (window.ActiveXObject){  

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  

 }  

 

 if (xmlhttp){  

  xmlhttp.open("GET",ivkUrl,false);  

 

     btype = getOs();  

     if(btype != "Firefox"){//IE回调state_Change接口  

      xmlhttp.onreadystatechange = state_Change;  

  }        

  xmlhttp.send(null);  

 

  if(btype == "Firefox"){//Firefox做特殊处理  

   var dataTypeId = "<%=dataTypeId%>";        

   if(dataTypeId == 1){  

    updatePage();//页面逻辑  

   }  

  }  

 }else{  

  alert("Your browser does not support XMLHTTP");  

 }  

 

 //每隔10秒调用1次  

 interval = window.setTimeout("loadXMLDoc('<%=xmlName%>','<%=dataTypeId%>')", 10000);  

 if(rtnData.length == 1 && rtnData[0].downUrl){//1个下载链接  

  window.clearTimeout(interval);  

 }  

 if(rtnData.length > 1){//多个下载链接  

  window.clearTimeout(interval);  

 }  

}  

 

 

function state_Change(){  

 var dataTypeId = "<%=dataTypeId%>";  

 

 if (xmlhttp.readyState==4){  

  if (xmlhttp.status==200){  

   if(dataTypeId == 1){  

    updatePage();//页面逻辑  

   }  

  }  

 }  

}  

 

//js中解析返回数组数据  

rtnData = eval(xmlhttp.responseText);  

 

 

方式2:

 

Js代码 

if (xmlhttp){  

 try{  

  xmlhttp.open("POST",'DateValidator.do',false);  

     xmlhttp.send(currStartDate+"##"+currEndDate);//参数传递  

 }catch (exception){  

  alert(exception);  

 }  

 

 //js中解析返回数组数据  

 rtnData = xmlhttp.responseText;  

 ....        

}else{  

 alert("Your browser does not support XMLHTTP");  

}  

 

 

java端处理:

Java代码 

String dateString = (String)requestObj.getData("REQUEST_XMLHTTP");//取得ajax提交的参数  

String[] dateArray = dateString.split("##");  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水寒

感谢打赏,您的支持是我最大的动

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值