简单的Ajax对象

来源:互联网 发布:对java开发岗位的理解 编辑:程序博客网 时间:2024/05/13 18:17

function MyAjax(url,pars,fun) 
{       
    var aj=new Object();     
    aj.url=url;  
    aj.pars=pars;    
    aj.resultHandle=fun;     
 
    aj.createXMLHttpRequest=function (){ 
     
        var request=false;       
        if(window.XMLHttpRequest){ 
             
            request=new XMLHttpRequest();            
            if(request.overrideMimeType){ 
                 
                request.overrideMimeType('text/xml');                
                 
            } 
             
        }else if(window.ActiveXObject){ 
             
            var versions=['Microsoft.XMLHTTP','MSXML.XMLHTTP','Microsoft.XMLHTTP','Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];            
            for(var i=0;i<versions.length;i++){ 
                 
                try{ 
                     
                    request=new ActiveXObject(versions[i]);                  
                    if(request){ 
                         
                        return request;                      
                         
                    } 
                     
                }catch(e){ 
                     
                } 
                 
            } 
             
        } 
        return request;      
         
    } 
     
    aj.XMLHttpRequest=aj.createXMLHttpRequest();     
     
    aj.processHandle=function (){ 
         
        if(aj.XMLHttpRequest.readyState==4&&aj.XMLHttpRequest.status==200){ 
             
            aj.resultHandle(aj.XMLHttpRequest);          
             
        } 
         
    } 
     
    aj.get=function (){ 
         
        aj.XMLHttpRequest.onreadystatechange=aj.processHandle;
        aj.XMLHttpRequest.open("GET",aj.url+"?"+aj.pars);        
        aj.XMLHttpRequest.send(null);        
         
    } 
     
    aj.post=function (){ 
         
        aj.XMLHttpRequest.onreadystatechange=aj.processHandle;       
        aj.XMLHttpRequest.open('POST',aj.url,true);      
        aj.XMLHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');      
        aj.XMLHttpRequest.send(aj.pars);         
         
    } 
     
    return aj;   
     
}

 

//调用方法

var ajax = new MyAjax('url','params',backfunction);

ajax.get();