自己实现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 相关文章推荐
精心挑选的15款优秀jQuery 本特效插件和教程
Aug 06 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
webpack+vue2构建vue项目骨架的方法
Jan 09 Javascript
在vue中封装可复用的组件方法
Mar 01 Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 Javascript
vue-cli项目配置多环境的详细操作过程
Oct 30 Javascript
VUE简单的定时器实时刷新的实现方法
Jan 20 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
php不用正则采集速度探究总结
2008/03/24 PHP
Discuz 模板引擎的封装类代码
2008/07/18 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
php实现留言板功能
2017/03/05 PHP
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
jupyter安装小结
2016/03/13 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Python加速程序运行的方法
2020/07/29 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
财务负责人任命书
2014/06/06 职场文书
升职自我推荐信范文
2015/03/25 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书