六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 19|回复: 0

ajax的两种常用调用方式

[复制链接]

升级  44%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
116
 楼主| 发表于 2013-1-23 02:04:35 | 显示全部楼层 |阅读模式
方式1:
//请求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:
 
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端处理:
String dateString = (String)requestObj.getData("REQUEST_XMLHTTP");//取得ajax提交的参数String[] dateArray = dateString.split("##"); 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表