自己实现ajax封装示例分享

前端技术 2023/09/09 JavaScript

复制代码 代码如下:

 //javascript Object: ajax Object
//Created By RexLee
function Ajax(url,data){
    this.url=url;
    this.data=data;
    this.browser=(function(){  
        if(navigator.userAgent.indexOf(\"MSIE\")>0) {  
            return \"MSIE\";//IE浏览器
        }else{
            return \"other\";//其他
    }})();
};
Ajax.prototype={
    get:function(){
        var result;
        var xmlhttp;
        if(this.browser==\'MSIE\'){
            try{
                xmlhttp=new ActiveXObject(\'microsoft.xmlhttp\');
                }catch(e){
                    xmlhttp=new ActiveXObject(\'msxml2.xmlhttp\');
                    }
            }else{
                xmlhttp=new XMLHttpRequest();
            };
        xmlhttp.onreadystatechange=function(){
            result = xmlhttp.responseText;//闭包,不能采用this.属性
        };
        xmlhttp.open(\'GET\',this.url+\'?\'+this.data,false);//true无法抓取数据,why?
        xmlhttp.send(null);
        return result;
    },
    post:function(){
        var result;
        var xmlhttp;
        if(this.browser==\'MSIE\'){
            xmlhttp=new ActiveXObject(\'microsoft.xmlhttp\');
            }else{
                xmlhttp=new XMLHttpRequest();
            };
        xmlhttp.onreadystatechange=function(){
            result = xmlhttp.responseText;//闭包,不能采用this.属性
        };
        xmlhttp.open(\'POST\',this.url,false);//需设为false,否则无法抓取responseText
        xmlhttp.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\");//POST中,这句必须
        xmlhttp.send(this.data);
        return result;
    }
};

//var a=new ajax(\'opp2.js\',\'\');
//alert(\'by GET\\\\n\'+a.get())
//alert(\'by POST\\\\n\'+a.post());
///////////////////////////////

 

window.onload=function(){
document.getElementById(\"btn\").onclick=function(){
    var p=document.getElementById(\"t\").value;
    var a=new Ajax(\"phpOOP/getPage.php\",\"page=\"+p);
    document.getElementById(\"box\").innerHTML=a.get();
    };
}

本文地址:https://www.stayed.cn/item/24634

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。