好程式設計師web前端教程分享前端javascript練習題Ajax封裝

好程式設計師IT發表於2019-11-27

好程式設計師web前端教程分享前端javascript練習題Ajax封裝
ajax的基本封裝 ----必須掌握
function ajax(url,fn){

if(window.XMLHttpRequest){    var xhr = new XMLHttpRequest();
}else{    var xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("get",url,true);
xhr.send();
xhr.onreadystatechange = function(){    if(xhr.readyState == 4){        if(xhr.status == 200){            var data = xhr.responseText;
            fn(data);
        }
    }
}}

ajax的完整封裝
function ajax(obj){

//obj -> type url data successvar str = "";for(var key in obj.data){
    str += key+"="+obj.data[key]+"&";
}//str = str.substring(0,str.length-1);str = str.replace(/&$/,"");if(window.XMLHttpRequest){    var xhr = new XMLHttpRequest();
}else{    var xhr = new ActiveXObject("Microsoft.XMLHTTP");
}if(obj.type.toUpperCase()=="GET"){    if(obj.data){        var url = obj.url + "?" + str;
    }else{        var url = obj.url;
    }
    
    xhr.open("get",url,true);
    xhr.send();
}if(obj.type.toUpperCase()=="POST"){
    xhr.open("post",obj.url,true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(str);
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2665917/,如需轉載,請註明出處,否則將追究法律責任。

相關文章