Ajax函数封装

2019-03-17  本文已影响0人  Christoles

函数说明:

function my_ajax(_type,_url,callback,_data){
    //通过new关键词实例化一个XMLHttpRequest请求。
    let xhr = new XMLHttpRequest();
    
    let str="";
    for(let i in _data){
        str += i+"="+_data[i]+"&";//字符串拼接
    }
    str=str.slice(0,-1);//去掉最后一个“&”
    //后台决定请求方式的类型,get和post的处理方式不一样
    if(_type=="get"||_type=="GET"){
        xhr.open(_type,_url+"?"+str);
        xhr.send();
    }else if(_type=="post"||_type=="POST"){
        xhr.open(_type,_url);
        xhr.send(str);//post请求
    }
    //监听实例化对象是否接受请求,并接受数据。
    xhr.addEventListener("readystatechange",function(){
        if(xhr.readyState==4&&xhr.status==200){
            var result = JSON.parse(xhr.responseText);
            callback(result);//通过回调函数的形式才能返回 ***
        }
    })
}

open:通过实例化对象调用open方法,设置请求的方式和地址。
send:通过实例化对象调用send方法发送请求。

上一篇 下一篇

猜你喜欢

热点阅读