自己实现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 相关文章推荐
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
Jul 29 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
extjs 时间范围选择自动判断的实现代码
Jun 24 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
Jan 08 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
微信小程序开发之toast等弹框提示使用教程
Jun 08 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 Javascript
vue element-ui读取pdf文件的方法
Nov 26 Javascript
JS实现移动端双指缩放和旋转方法
Dec 13 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 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
PHP实现HTTP断点续传的方法
2015/06/17 PHP
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
bootstrap Table插件使用demo
2017/08/07 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python语法快速入门指南
2015/10/12 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
学习python的前途 python挣钱
2019/02/27 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Python将字典转换为XML的方法
2020/08/01 Python
Python列表推导式实现代码实例
2020/09/09 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
How TDD works
2012/09/30 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
兴趣小组活动总结
2014/05/05 职场文书
2014年征兵标语
2014/06/20 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
导游词之吉林花园山
2019/10/17 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
python用tkinter开发的扫雷游戏
2021/06/01 Python
vue里使用create, mounted调用方法
2022/04/26 Vue.js