zoukankan      html  css  js  c++  java
  • ajax请求封装

    var xmlHttp;
        var ajaxRequest = function (params) {
            xmlHttp ={};
            this.url = params.url;
            this.method = params.method;
            this.dataType = params.dataType;
            this.formData = params.formData;//string 仅用于post
    
            this.init = function(){
                if (window.XMLHttpRequest)
                {
                    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
                    xmlHttp=new XMLHttpRequest();
                    
                }
                else
                {
                    // IE6, IE5 浏览器执行代码
                    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                
                xmlHttp.onreadystatechange = function()
                {
                    //这里总是无法调用this.xmlHttp 干脆改成全局变量了
                    if (xmlHttp.readyState==4 && xmlHttp.status==200)
                    {
                    
                        document.getElementById("myDiv").innerHTML=xmlHttp.responseText;
                    }
                }
                xmlHttp.open(this.method, this.url, true);
                xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
                //xmlHttp.setRequestHeader('Content-length', this.formData.length);
                //xmlHttp.setRequestHeader("Referer", "http://www.baidu.com"); 
                //xmlHttp.setRequestHeader('Connection', 'close');
                
                return true;
                
            };
            
    
            
                
            
            this.send = function(){
                if(this.init()){
                    console.log(this.formData);
                    xmlHttp.send(this.formData);
                }
            };
            
            
    
        };
        var FormData = function(){
            this.data = '' ;
            this.append = function(key,val){
                if(typeof key == 'string' && typeof val == 'string')
                    this.data += key + '=' + val;
            }
            this.batchAppend = function(a){
                if(typeof a == 'array' || typeof a == 'object')
                {
                    for(var i in a)
                    {
                        if(typeof a[i] == 'string')
                        {
                            this.data += i + '=' + a[i] + '&';
                        }
                        
                    }
                    this.data = this.data.substr(0,this.data.length-1);
                }
            }
            
            return this.data;
    
        }
        var data = new FormData();
        data.append('user', 'sachin');
        //data.batchAppend({'fdf':'1313','8':'5454'});
        var params = {
            url : 'http://localhost/test/test.php?b=234234',
            method : 'GET',
            dataType: 'text',
            formData : data
        };
        //console.log(data);
        var request = new ajaxRequest(params);
        request.send();
  • 相关阅读:
    线上一次大量 CLOSE_WAIT 复盘
    etcd 性能优化实践
    Web 前端密码加密是否有意义?
    tmp
    京东 PC 首页 2019 改版前端总结 原创: 何Jason,EC,小屁 凹凸实验室 今天
    http://stblog.baidu-tech.com/?p=1684) coredump调试记录
    Java字节码增强探秘
    dedecms 织梦更改rss的路径、网站地图sitemap的路径
    dedecms时间日期标签大全
    织梦CMS被挂马特征汇总
  • 原文地址:https://www.cnblogs.com/BeautyFuture/p/6225586.html
Copyright © 2011-2022 走看看