自己实现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 相关文章推荐
js获取url参数值的两种方式
Sep 10 Javascript
Node.js实现在目录中查找某个字符串及所在文件
Sep 03 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
深入解析js轮播插件核心代码的实现过程
Apr 14 Javascript
JS简单获取日期相差天数的方法
Apr 24 Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 Javascript
如何理解Vue的作用域插槽的实现原理
Aug 19 Javascript
ES6 javascript中class类的get与set用法实例分析
Oct 30 Javascript
利用HBuilder打包前端开发webapp为apk的方法
Nov 13 Javascript
微信小程序加载机制及运行机制图解
Nov 27 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
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
ucenter通信原理分析
2015/01/09 PHP
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python3 map函数和filter函数详解
2019/08/26 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python序列化与数据持久化实例详解
2019/12/20 Python
Python实现序列化及csv文件读取
2020/01/19 Python
Python pip 常用命令汇总
2020/10/19 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
工程质量月活动方案
2014/02/19 职场文书
论文指导教师评语
2014/04/28 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
股东大会通知
2015/04/24 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
培养联系人考察意见
2015/06/01 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers