读书人

Ajax 兼容ie6以下和firefox版本

发布时间: 2012-11-01 11:11:32 作者: rapoo

Ajax 兼容ie6以上和firefox版本

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(); }

是不是这样的写法没人在用了??

读书人网 >Ajax

热点推荐