原生js---ajax的封裝外掛.js---(對get和post做了兼

airland發表於2021-09-09
function ajax(method,url,data,fn){
    // 1、建立物件
    var xhr=null;
    try{
    xhr=new XMLHttpRequest();
    }catch(e){
    xhr=new ActiveXObject("Microsoft.XMLHTTP");
    }
    
    // 2、open方法
    if(method=="get"&&data){
      url=url+"?"+data;
    }
    xhr.open(method,url,true);
    
    // 3、send方法
    if(method=="get"){
        xhr.send()
    }else{
    // post請求時執行
    // 宣告傳送的資料型別
        xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
        xhr.send(data);
    }
    
    // 4、接收資料
    xhr.onreadystatechange=function(){
        if(xhr.readyState==4){
            if (xhr.status==200) {
            // 資料接收成功後執行傳來的函式
            fn(xhr.responseText)
            }else{
            alert("錯誤"+xhr.status)
            }
        }
    }
}



注:function ajax(method,url,data,fn){}
method----方法
url---路徑
data---資料,不用傳資料時,函式傳該引數""
fn---資料接收成功後執行傳來的函式


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

相關文章