自己实现ajax封装示例分享


Posted in Javascript onApril 01, 2014
 //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();
    };
}
Javascript 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
javascript web页面刷新的方法收集
Jul 02 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
javascript中获取下个月一号,是星期几
Jun 01 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
JS定时器实例
Apr 17 Javascript
Document:getElementsByName()使用方法及示例
Oct 28 Javascript
javascript的数组和常用函数详解
May 09 Javascript
JS控制层作圆周运动的方法
Jun 20 Javascript
解读vue生成的文件目录结构及说明
Nov 27 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
微信小程序实现录音功能
Nov 22 Javascript
jquery分页对象使用示例
Apr 01 #Javascript
JavaScript对象的property属性详解
Apr 01 #Javascript
easyui datagrid 键盘上下控制选中行示例
Mar 31 #Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 #Javascript
js改变鼠标的形状和样式的方法
Mar 31 #Javascript
JS 获取浏览器和屏幕宽高等信息代码
Mar 31 #Javascript
js简单的表格添加行和删除行操作示例
Mar 31 #Javascript
You might like
安装APACHE
2007/01/15 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
JavaScript实现简单轮播图效果
2018/12/01 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
详解python的ORM中Pony用法
2018/02/09 Python
遗传算法python版
2018/03/19 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
python批量解压zip文件的方法
2019/08/20 Python
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
个人近期表现材料
2014/02/11 职场文书
人事部专员岗位职责
2014/03/04 职场文书
社团活动总结
2014/04/28 职场文书
汽车维修求职信
2014/06/15 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
家庭经济困难证明
2015/06/23 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang