日期:2014-05-16 浏览次数:20639 次
方式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("##"); ?
?