自己实现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 相关文章推荐
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
Dec 31 Javascript
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
JQuery动画与特效实例分析
Feb 02 Javascript
jquery实现网站列表切换效果的2种方法
Aug 12 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
JavaScript实现购物车基本功能
Jul 21 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
vue组件之间通信方式实例总结【8种方式】
Feb 22 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 Javascript
小程序自动化测试的示例代码
Aug 11 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
简单的自定义php模板引擎
2016/08/26 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python 字段拆分详解
2019/12/17 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
python同时遍历两个list用法说明
2020/05/02 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
金融管理毕业生求职信
2014/03/03 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS