簡單實用的ajax開發執行個體教程代碼

來源:互聯網
上載者:User

// 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;               
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.