自己实现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知识点之"this指针"的应用
Apr 23 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 Javascript
Javascript小技巧之生成html元素
May 15 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
jquery调整表格行tr上下顺序实例讲解
Jan 09 Javascript
利用JQuery写一个简单的异步分页插件
Mar 07 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
jQuery操作事件完整实例分析
Jan 10 jQuery
js实现div色块碰撞
Jan 16 Javascript
es6函数name属性功能与用法实例分析
Apr 18 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
PHP反射实际应用示例
2019/04/03 PHP
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
JS中的三个循环小结
2017/06/20 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
C#面试常见问题
2013/02/25 面试题
实验室标语
2014/06/21 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android