ajax学习

封装原生js ajax函数

function ajax(type,url,data,callback){
    var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")
    if(typeof data == "object"){
        var str = ""
        for(var key in data){
            str += `${key}=${data[key]}&`
        }
        data = str.slice(0,str.length - 1)
    }
    type = type.toupperCase()
    if(type == "GET"){
        if(data){
            xhr.open("GET",`${url}?${data}`,true)            
        }else{
            xhr.open("GET",url,true)
        }
        xhr.send()
    }else if(type == "POST"){
        xhr.open('POST',url,true)
        if(data){
            xhr.send(data)
        }else{
            xhr.send()
        }
    }else{
        return "error"
    }
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            var res = xhr.responseText
            callback?callback(
                function(){
                    return res
            }()):""
        }
    }
}

调用代码

ajax("get","./test.txt",null,function(response){
            console.log("dosomething....")
            var res = response
            console.log(res)
});

输出结果

 

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...