自己实现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的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
js中字符替换函数String.replace()使用技巧
Aug 14 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
Mar 12 Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
javascript实现倒计时并弹窗提示特效
Jun 05 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
JS模拟Dialog弹出浮动框效果代码
Oct 16 Javascript
react 父组件与子组件之间的值传递的方法
Sep 14 Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 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
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
php数值转换时间及时间转换数值用法示例
2017/05/18 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
js中function()使用方法
2013/12/24 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
详解Document.Cookie
2015/12/25 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
使用python为mysql实现restful接口
2018/01/05 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
千元咖啡店的创业计划书范文
2013/12/29 职场文书
领导干部考察材料
2014/02/08 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
残疾人小组计划书
2014/04/27 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫
MySQL数据库 安全管理
2022/05/06 MySQL