var request = false; var btype=getInternet(); function getInternet() { 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浏览器 } } try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP");//支持microsoft } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP");//支持非microsoft } catch (failed) { request = false; } } } if(!request) alert("Error!!游览器不安全,请选择较高版本游览器!"); //调用的ajax 事件 function getInfo(type) { var url = *******************************.action; request.open("GET", url, true);//发送请求 if(btype=="Firefox"){ //firefox 的回调设置 request.onreadystatechange = function(){ updateKeylist(); }; request.send(null); request.onreadystatechange = function(){ updateKeylist(); }; }else{//其他的回调设置{这里只考虑到了ie,其他的能用这个算碰对了呗} request.onreadystatechange = updateKeylist; request.send(null); } } function updateKeylist(){ if(request.readyState == 4){//响应完成 if (request.status == 200){//正常运行 var result=request.responseText;//获得返回数据字符串 //---对result处理就可以了 //***************************demo star***********************// //-----获得下拉框对象 var sel=document.getElementById("sel");//获得sel var strkey=result.split(";");//截取对象集合 sel.length=0;//清空下拉框 for(var i=0 ;i<strkey.length;i++){//循环替换下拉框对象 var k=strkey[i].indexOf(",");//获得‘,’的位置 if(k==-1){//没有值的时候 ++i; continue; } var id=strkey[i].substring(0,k); if(strkey[i].length<=k){//关键字名称为空的不显示 ++i; continue; } var name=strkey[i].substring(k+1); sel.options[sel.length]=new Option(name,id);//逐个添加 } //***************************end*********************// }else if (request.status == 404)//未找到请求 alert("Request URL 无法找到!!"); else alert("Error:异常:编号为:" + request.status); } }
//-------------------------------action 中
StringBuffer result=new StringBuffer(); for(TdKeyMO mo : listmo){ result.append(mo.getId()).append(","). append(mo.getName()).append(";"); } //组装 输出字符串完毕 super.httpServletResponse.setContentType("text/xml; charset=UTF-8"); //从这里开始呗. super.httpServletResponse.setHeader("Cache-Control", "no-cache"); //处理编码格式 PrintWriter out;//out对象 try { out = super.httpServletResponse.getWriter(); out.print(result.toString());//输出 out.close();//**** } catch (IOException e) { e.printStackTrace(); }
1 楼
chenxiang105
2010-10-02
是不是这样的写法没人在用了??