hedahai119 发表于 2013-1-23 02:46:00

兼容IE于FF的ajax回调函数写法

var ajaxObj;var btype=getOs();function getOs(){   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 get_request(){    http_request = "";//开始初始化XMLHttpRequest 对象if(window.XMLHttpRequest) { //Mozilla 浏览器   http_request = new XMLHttpRequest();   if (http_request.overrideMimeType) {//设置MiME 类别             http_request.overrideMimeType("text/xml");   }}else if (window.ActiveXObject) { // IE 浏览器   try {         http_request = new ActiveXObject("Msxml2.XMLHTTP");   } catch (e) {          try {             http_request = new ActiveXObject("Microsoft.XMLHTTP");          } catch (e) {}   }}if (!http_request) { // 异常,创建对象实例失败                  window.alert("不能创建XMLHttpRequest 对象实例.");                  return false;}return http_request;}function bank(){var userId = document.getElementById("userId").value;var money = document.getElementById("money").value;var time = document.getElementById("time").value;// 交由XMLHttpRequest和后台进行异步通信ajaxObj=get_request();var url="bankSend.do?userId="+userId+"&money="+money+"&time="+time;ajaxObj.open("Get",url,true);if(btype=="Firefox"){ajaxObj.onreadystatechange = function(){bankCallBack(); }; ajaxObj.send(null); ajaxObj.onreadystatechange = function(){bankCallBack(); };}else{ajaxObj.onreadystatechange = bankCallBackajaxObj.send(null);}}// bankCallBack的回调函数function bankCallBack(){if((ajaxObj.readyState==4 || btype=="Firefox")){if(ajaxObj.status==200){var status=ajaxObj.responseXML.getElementsByTagName("status").firstChild.data;if(status=="ok"){// 返回正确信息var text=ajaxObj.responseXML.getElementsByTagName("text").firstChild.data;document.sendForm.submit();var parent=document.getElementById("linkTest");//parent.setAttribute("onclick", "#");}else{// 返回错误信息var text=ajaxObj.responseXML.getElementsByTagName("text").firstChild.data;}}}}
页: [1]
查看完整版本: 兼容IE于FF的ajax回调函数写法