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

<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. 关于scanf的返回值

    今天写一个小程序时误用while(scanf("%d",&b)!=a),以为scanf的返回值就是输入的值. 其实真相是: scanf返回接收到的变量值的个数. int a ...

  2. Win10安装安卓ADB驱动

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

  3. javascript history对象

    window.history.[属性|方法] 0.history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能. 1.属性 2.方法

  4. CodeForces 705B Spider Man

    水题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #includ ...

  5. DPDK l2fwd 浅注

    l2fwd是DPDK中的非常经典的例子.二层转发模型. 就是在相邻的网卡接口间互相传递报文. 网口0和网口1之间报文互传. 网口2和网口3之间报文互传. ............ 运行参数 . 在目录 ...

  6. jquery.validationEngine

    引入库文件 <!DOCTYPE html> <head> <!--jQuery--> <script type="text/javascript&q ...

  7. js--性能优化(转)

    前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...

  8. iOS开发极光推送显示 开发证书没有通过验证 是否重新上传证书?解决方法

    1.证书密码错误 2证书环境不匹 3导证书时因手误把私钥导出来了,而不是证书 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候请不要展开证书: ...

  9. notepad 是doc 调出记事本文件

    notepad 是doc 调出记事本文件notepad 是doc 调出记事本文件notepad 是doc 调出记事本文件

  10. Spring Security(03)——核心类简介

    目录 1.1     Authentication 1.2     SecurityContextHolder 1.3     AuthenticationManager和Authentication ...