pwp5566 发表于 2013-1-29 10:34:26

Ajax XMLHttpRequest 异步请求

ajax异步请求即XMLHttpRequest请求:
兼容firefox,mozillar,safari,opera,IE等主流浏览器
以get请求为例子:

var xmlHttp;
var bgArgument;
var responseFunction;
/**
* url:request path
* argName: argument name
* argName: argument value
*/
function httpRequest(url,argName,argValue){
    if(window.XMLHttpRequest){
             //support firfox, mozillar,safari,opera,IE7 later version
try{
xmlHttp = new XMLHttpRequest();
//mozillar bug
if(xmlHttp.overrideMimeType){
xmlHttp.overrideMimeType("text/xml");
}
}catch(e){
    alert('do not support '+e);
}
    }else if(window.ActiveXObject){
      //support IE6 previous version
      var activexName = ["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
      for(var i=0; i<activexName.length; i++){
            try{
            xmlHttp = new ActiveXObject(activexName);
            break;
            }catch(e){
             alert('do not support IE '+e);
            }
      }
    }
    if(!xmlHttp){
      alert('create XMLHttpRequest failed');
      return;
    }

    //regist callback function
    xmlHttp.onreadystatechange = callback;
    xmlHttp.open("GET",url+"?"+argName+"="+argValue,true);
    xmlHttp.send(null);
   
   
}

//callback
function callback(){
   //request server success
   if(xmlHttp.readyState == 4){
         //response success
         if(xmlHttp.status == 200){
            var result = xmlHttp.responseText;
            //handler response result
         }else{
             alert("response failed");
         }
   }
}
页: [1]
查看完整版本: Ajax XMLHttpRequest 异步请求