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

<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. MVC视图路径修改方法

    http://wenku.baidu.com/link?url=MwAaKgGevU7hfRuTyCL95ZbJuDsNc4b__jEWisY9GuzAJzEUgEdoj7uQ-wurbYtz1IQj ...

  2. Hibernate之环境搭建

    开始之前,我想先理清一个概念,即ORM是什么? ORM介绍 全称:Object/Relation Mapping,即对象/关系映射. ORM也可以理解为一种规范,具体的ORM框架可作为应用程序和数据库 ...

  3. C#中string.Substring 的用法

    String.SubString(int  startIndex,int length)     startIndex:截取字符串开始的位置       length:截取字符串的长度 例子:用户 输 ...

  4. C语言学习 数独游戏

    摘要:花了1周多时间学习了C语言,开始练手写解数独游戏的程序. C语言学习 数独游戏 作者:乌龙哈里 时间:2015-11-22 平台:Window7 64bit,TCC 0.9.26(x86-64 ...

  5. 寒假学干货之------android开发环境

    1.下载安装jdk(http://www.oracle.com/technetwork/java/javase/downloads/index.html)装se版的就可以了,复制jdk目录路径,之后配 ...

  6. ftp服务器端的安装及配置

    搭建过程 安装 vsftp 服务(yum 安装即可) 配置/etc/vsftpd/vsftpd.conf   anonymous_enable=NO #禁止匿名登录 local_enable=YES ...

  7. sublime text 设置

    https://packagecontrol.io/installation#Simple 下载 php 自动补全 点击菜单栏的:Preferences: 选择:Setting-User项: 然后在大 ...

  8. OC 调用JS 代码 处理HTML5 实战

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; ...

  9. ACM常用模板

    数论: 中国剩余定理(互质与非互质通用版) ],r[]; int e_gcd(int a,int b,int &x,int &y) { ) { x=; y=; return a; } ...

  10. .NET架构师

    闲话不多扯,关于.NET架构师的培训  架构师的知识体系总结:7大重点,对7大重点作为细节的阐述将再后面陆续展开!架构师的体系纲领主要来着这7点.(必须严格记下) 1:现代软件开发过程及架构策略 1. ...