自己实现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 相关文章推荐
jquery 如何动态添加、删除class样式方法介绍
Nov 07 Javascript
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
Nov 26 Javascript
JS实现页面超时后自动跳转到登陆页面
Jan 19 Javascript
jquery实现鼠标悬浮停止轮播特效
Aug 20 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
JavaScript实现图片瀑布流和底部刷新
Jan 02 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
Js利用prototype自定义数组方法示例
Oct 20 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
Sep 08 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 随机数的深入理解
2013/06/05 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
Python编写电话薄实现增删改查功能
2016/05/07 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
浅析Python函数式编程
2018/10/06 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python3调用windows dos命令的例子
2019/08/14 Python
python实现证件照换底功能
2019/08/20 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
学生就业推荐信
2013/11/13 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技