不使用jq,自行封裝的簡單的ajax

 

請求樣式 

​
​
ajax(   2,                   //1是get 2是post
     '/aaa',                   //請求的url
     {                       //請求的數據 (沒有數據填0)
       a:123,
       b:321
     },
      function(data){}       //服務器響應
)

​

​

ajax的代碼

function $(a) {
    return document.getElementById(a);
}

function ajax(reqstyle, pathname,dataobj,resF) {
    var url = '';
    var urldata = '?';
    if(dataobj===0){url = pathname}
    else{
        for(let i in dataobj){
            urldata += i+'='+dataobj[i]+'&'
        }
        urldata = urldata.substring(0,urldata.length-1);
        url = pathname+urldata
    }
    var Ajax = new XMLHttpRequest;
    if (reqstyle === 1) {
        Ajax.open('get', url, true)
        Ajax.send()
        Ajax.onreadystatechange = function () {    //目前就只能請求數據
            if (Ajax.readyState == 4) {
                if (Ajax.status == 200) {
                    resF(Ajax.response);
                }
                else
                    console.log('失敗')
            }
        }
    }
    if (reqstyle === 2) {
        Ajax.open('post', url, true)
        Ajax.send()
        Ajax.onreadystatechange = function () {    //目前就只能請求數據
            if (Ajax.readyState == 4) {
                if (Ajax.status == 200) {
                    resF(Ajax.response);
                }
                else
                    console.log('失敗')
            }
        }
    }
}
function senddata() {
    
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章