——————————————————————————

<script type="text/javascript">
            //定义个一个function,作为一个Ajax类
            //它的构造函数需要提供以下参数列表
            function Ajax(url,callback,params,method){
                this.method = method;    //对象的ajax请求方法
                this.url = url;            //对象的ajax请求url
                this.params = params;    //对象的ajax请求参数
                this.callback = callback;//对象的ajax请求回调
                this.send = function(){    //请求发送函数
                    if(!this.method)    //当没有提供请求方法的时候,默认为GET
                        this.method = 'GET';
                    if(method == 'POST'){//如果是POST方法
                        //用POST方法,参数可以通过send方法的参数写到请求的内容流中去
                        window.Ajax.client.open(this.method,this.url,true);
                        window.Ajax.client.send(params);//调用send函数,把参数写的请求内容中
                    }else if(method == 'GET'){//如果是GET方法
                        //用GET请求方法,参数就只能放在URL的后边,这种方式受到URL长度限制
                        window.Ajax.client.open(this.method, this.url + "?" + params,true);
                        window.Ajax.client.send();
                    }
                    //请求发出以后,就开始监听client的状态变化
                    window.Ajax.client.onreadystatechange = function(){
                        //如果成功返回,则调用预定义的回调函数
                        if (window.Ajax.client.readyState==4 && window.Ajax.client.status==200){
                            callback();//调用回调函数
                        }
                    };
                };
                //这里,把Ajax的client属性作为一种静态变量,类似于单例模式
                if(!window.Ajax.client){
                    // 判断是否支持ActiveX控件,老版本的IE浏览器就需要使用ActiveXObject来创建
                    if(window.ActiveXObject){
                        // 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
                        window.Ajax.client = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    // 其他的大多数浏览器都支持本地javascript对象
                    else if(window.XMLHttpRequest){
                        // 创建XMLHTTPRequest的一个实例(本地javascript对象)
                        window.Ajax.client = new XMLHttpRequest();
                    }
                }
            }
            //button的click事件函数
            function sendAjax(){
                //创建一个Ajax对象,然后提供必要的参数
                var ajax = new Ajax('test001.txt',function(){
                    alert(window.Ajax.client.responseText);
                },'','GET');
                //发送请求
                ajax.send();
            }
</script>——————————————————————————————

<body style="text-align:center">    
        <input type="button" value="Send" onclick="sendAjax();"/>
 </body>

——————————————————————————————

Ajax应用-定义一套自己的Ajax框架的更多相关文章

  1. Ajax请求(二)--JQuery的Ajax请求方法

    JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...

  2. ajax 中操作this,需要先在ajax的外面给this重新定义为_this!!

    //设置为默认收货地址 $(document).on('tap','.right_none',function(){ var _this = $(this); //只有这样定义,在ajax的内部才可以 ...

  3. JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容

    封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...

  4. Web的Ajax应用开发模式(二)——Ajax开发模式分析

    寄语: 前天在查看一些公司的招聘要求时,看到有公司要求测试人员了解Ajax,故写此博文旨在帮助测试人员提高自身技术知识水平,愿与广大测试同胞共同进步.(欢迎纠错!!!) Web应用的传统开发模式总结: ...

  5. 深入理解ajax系列第九篇——jQuery中的ajax

    前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...

  6. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

  7. 详解Ajax请求(三)——jQuery对Ajax的实现及serialize()函数对于表单域控件参数提交的使用技巧

    原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情, ...

  8. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求   Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...

  9. 从零开始学 Web 之 Ajax(六)jQuery中的Ajax

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

随机推荐

  1. Javascript中valueOf与toString区别

    前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决JavaScript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例:var aaa = {  i: 10,  ...

  2. 无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7302)

    出现这个错误,有两个最常见的两个原因 1.注册表 <1>按下WIN+R,打开“运行”窗口,输入“regedit”,回车 <2>在打开的注册表编辑器的左侧按如下路径依次展开: H ...

  3. 大学二三事——那些事(1)

    虽然另外一个队友早上忽然拉肚子没有办法去了,我个阿骚还是决定出发. 本来以为早点过去签到可以躲过李导,没想到在她上班的路上被她撞见.   坐在早上那班发往周至县的客车的时候,天气忽好忽坏.   从周至 ...

  4. SSH整合例子

    三大框架: Struts框架 1. params拦截器: 请求数据封装 2. 类型转换/数据处理 3. struts配置 4. 文件上传/下载/国际化处理 5. 数据效验/拦截器 6. Ognl表达式 ...

  5. 教务处sso设计缺陷

    前言 刚学习python,觉得比较枯燥总不知道从哪里入手,偶然一次,同学让我帮忙看看选课,发给我的是学校统一的默认格式的密码,突然就想试试有多少人还是默认密码,从QQ群里找了一份学生信息尝试了一下,发 ...

  6. js中三目运算符和&& || 符的个人浅见

    这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.logi ...

  7. Win10安装安卓ADB驱动

    Win10安装安装ADB驱动 Step1: 首先在黄色感叹号的ADB Interface 点右键菜单,选择“更新驱动程序软件”菜单. 在弹出“更新驱动程序软件”窗口中,选择下面一项“浏览计算机以查找驱 ...

  8. Android系统签名文件

    系统签名所需要的工具 signapk.jar -------------------->out/host/linux-x86/framework/signapk.jar (build/tools ...

  9. intellij idea 12 搭建maven web项目

    原来公司一直使用eclipse,突然使用这个intellij还真有点不习惯,等用了一段时间才发现的确好用,因为也是刚开始用,所以很多不理解的地方,搭建一个项目从头好好了解下intellij 最开始的m ...

  10. Ubuntu 安装Composer

    操作系统:Ubuntu 14.04.2 1.自动安装 $ curl -sS https://getcomposer.org/installer | php 2.更新 $ composer self-u ...