方式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("##");