ajax GET和POST函数的封装。

我的梦境 提交于 2020-03-12 09:06:48
<script>
    document.onclick = function(){
        var url = "http://localhost/ajax/data/get-post.php";
        ajax({
            success:function(res){
                console.log(res);
            },
            url:url,
            type:"get",
            data:"user=admin&pass=123"
        });
    }
    function ajax(ops){
        // 默认属性处理
        ops.type = ops.type || "get";
        ops.data = ops.data || "";
        // 根据当前的请求方式,决定是否需要拼接数据,处理url
        ops.url = ops.type=="get" ? ops.url + "?" + ops.data : ops.url;
        // if(ops.type=="get"){
        //     ops.url = ops.url+ops.data
        // }
        // 创建xhr对象
        var xhr = new XMLHttpRequest();
        // 开启请求
        xhr.open(ops.type, ops.url);
        // 根据类型决定send的内容及内容数据格式
        if(ops.type == "get"){
            xhr.send();
        }else{
            xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xhr.send(ops.data);
        }
        // 开启监听
        xhr.onreadystatechange = function(){
            if(xhr.readyState === 4 && xhr.status === 200){
                // 执行回调函数,取出数据
                ops.success(xhr.responseText);
            }
        }
    }
</script>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!