原生js—ajax的封裝外掛.js—(對get和post做了相容)

紅爐一點雪cck發表於2018-11-14
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---資料接收成功後執行傳來的函式

 

相關文章