【www.gdgbn.com--php常用代码】

// aien,i@ruboy.com,1034555083
// ajax(a,b,c,d,e,f,g);
// 参数说明:a-请求方法;b-请求的地址;c-请求的数据,a为post时有效;d-回调函数,函数里面的this引用是xmlhttp对象;e-是否异步,除非设置为false,否则为异步调用;f,g-登录用户名和密码

function ajax(a,b,c,d,e,f,g){
    a = a.touppercase();
    if(e===false){e=false;}else{e = true;}
    var obj = ajax.ajax_getobj();
    if(obj){
        if(f){
            obj.open(a,b,e,f,g);       
        }else{
            obj.open(a,b,e);       
        }       
        if(a.touppercase()=="post"){
            obj.setrequestheader("content-type", "application/x-www-form-urlencoded");       
        }
        obj.onreadystatechange=function(){if(typeof d != "function"){return;}d.apply(obj,[a,b,c,d,e,f,g]);};
        obj.send(c);
    }               
}
ajax.ajax_getobj = function(){
    var b = null;
    if (window.activexobject) {  //for ie
        var httplist = ["msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp"];
        for(var i = httplist.length -1;i >= 0;i--){
            try{
                b = new activexobject(httplist[ i]);
                return b;
            }catch(ex){}
        }
    }else if (window.xmlhttprequest) {  //for other
        b = new xmlhttprequest();
    }
    return b;               
}

更简单的方法二

ajax.ajax_getobj = function(){
    var b = null;
    if (window.activexobject) {  //for ie
        var httplist = ["msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp"];
        for(var i = httplist.length -1;i >= 0;i--){
            try{
                b = new activexobject(httplist[ i]);
                ajax.ajax_getobj = function() {
                    return new activexobject(httplist[i]);
                }
                return b;
            }catch(ex){}
        }
    }else if (window.xmlhttprequest) {  //for other
        b = new xmlhttprequest();
    }
    ajax.ajax_getobj = function() {
        return new xmlhttprequest();
    }
    return b;               
}

本文来源:http://www.gdgbn.com/jiaocheng/25521/