美文网首页
ajax封装

ajax封装

作者: AssertDo | 来源:发表于2019-08-22 10:55 被阅读0次
            //封装ajax
            //1,methond:请求类型,post,get 不区分大小写
            //2,url:请求的地址
            //3,params:请求的参数,可以传对象
            //4,done:请求成功后的回调,传入请求结果处理的函数
            function ajax(method,url,params,done){
                
                //转大写
                method = method.toUpperCase();
                
                //1
                var xhr = new XMLHttpRequest();
                
                //参数可以传入对象
                if(typeof params == "object"){
                    var tempArr = [];
                     for (var key in params) {
                        var value = params[key];
                        tempArr.push(key + "=" + value);
                     }
                     params = tempArr.join("&");
                }
                
                if(method == "GET"){
                    url += "?" + params;
                }
                
                //2
                xhr.open(method,url);
                
                //设置请求头
                var  data = null;
                if(method == "POST"){
                    xhr.setRequestHeader("content-Type","application/x-www-form-urlencoded");
                    data = params;
                }
                
                
                
                //4
                xhr.onreadystatechange = function(){
                    
                    if(this.readyState != 4) return;
                    
                    done(this.responseText);
                };
                
                //3
                xhr.send(data);
                
            }

相关文章

网友评论

      本文标题:ajax封装

      本文链接:https://www.haomeiwen.com/subject/pragsctx.html