一个简单的AJAX请求类

 更新时间:2006年12月23日 00:00:00   作者:  
在给blog加上无刷新搜索和即时验证检测后,又看了下代码,感觉太过麻烦,就把XMLHttpRequest请求封装到一个类里面,用起来方便多了,不用记那么多代码,什么创建XMLHttpRequest对象什么的,这部分代码也是重用性比较高的~已经打包,在日志的末尾下载。

要看效果的话点开侧边栏里的日志搜索,里面有一个无刷新搜索,就是了,或者在阅读日志或留言簿里的注册码那里有即时检测,如果不输入验证码或者输错了验证码,输入框都会变红的^_^

类名:AJAXRequest

创建方法:var ajaxobj=new AJAXRequest;,如果创建失败则返回false

属性:method  -  请求方法,字符串,POST或者GET,默认为POST

   url         -  请求URL,字符串,默认为空

   async     -  是否异步,true为异步,false为同步,默认为true

   content -  请求的内容,如果请求方法为POST需要设定此属性,默认为空

   callback  - 回调函数,即返回响应内容时调用的函数,默认为直接返回,回调函数有一个参数为XMLHttpRequest对象,即定义回调函数时要这样:function mycallback(xmlobj)

方法:send     -  发送请求,无参数

一个例子:
复制代码 代码如下:

<script type="text/javascript" src="ajaxrequest.js"></script>
<script type="text/javascript">
var ajaxobj=new AJAXRequest;    // 创建AJAX对象
ajaxobj.method="GET";   // 设置请求方式为GET
ajaxobj.url="default.asp"  // URL为default.asp
// 设置回调函数,输出响应内容
ajaxobj.callback=function(xmlobj) {
     document.write(xmlobj.responseText);
}
ajaxobj.send();    // 发送请求

复制代码 代码如下:

// AJAX类
function AJAXRequest() {
    var xmlObj = false;
    var CBfunc,ObjSelf;
    ObjSelf=this;
    try { xmlObj=new XMLHttpRequest; }
    catch(e) {
        try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
        catch(e2) {
            try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
            catch(e3) { xmlObj=false; }
        }
    }
    if (!xmlObj) return false;
    this.method="POST";
    this.url;
    this.async=true;
    this.content="";
    this.callback=function(cbobj) {return;}
    this.send=function() {
        if(!this.method||!this.url||!this.async) return false;
        xmlObj.open (this.method, this.url, this.async);
        if(this.method=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xmlObj.onreadystatechange=function() {
            if(xmlObj.readyState==4) {
                if(xmlObj.status==200) {
                    ObjSelf.callback(xmlObj);
                }
            }
        }
        if(this.method=="POST") xmlObj.send(this.content);
        else xmlObj.send(null);
    }
}

相关文章

  • Ajax回退刷新页面问题的解决办法

    Ajax回退刷新页面问题的解决办法

    这篇文章主要介绍了Ajax回退刷新页面问题的解决办法的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-07-07
  • 原生AJAX写法实例分析

    原生AJAX写法实例分析

    这篇文章主要介绍了原生AJAX写法实例分析,以一个完整的原生Ajax实例分析了Ajax的实现技巧,有助于加深对Ajax的理解,需要的朋友可以参考下
    2015-02-02
  • Ajax获取页面被缓存的解决方法

    Ajax获取页面被缓存的解决方法

    常利用AJAX写一些页面无刷新的内容获取页面,这种方式很快捷也很方便,但其中有一个问题,就是如果两次提交的参数相同时,返回的内容只返回上次获取的内容,如果我们在第一次修改了参数,第二次再次调用却会发现页面根本没有改变。
    2008-09-09
  • Jquery $.ajax函数外的一段代码的执行顺序

    Jquery $.ajax函数外的一段代码的执行顺序

    调用了JQuery的异步函数$.ajax ,然后在$.ajax函数外之后又有一段Jquery 代码。每次都是在$.ajax之后的代码先执行
    2014-06-06
  • Ajax+js实现异步交互

    Ajax+js实现异步交互

    本文给大家分享的是原生javascript结合ajax实现的异步交互的方法和代码,非常的简单实用,有需要的小伙伴可以参考下。
    2016-01-01
  • AjaxToolKit之Rating控件的使用方法

    AjaxToolKit之Rating控件的使用方法

    这篇文章主要介绍了AjaxToolKit之Rating控件使用方法的相关资料,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • [js]一个获取页面ip的正则

    [js]一个获取页面ip的正则

    [js]一个获取页面ip的正则...
    2007-07-07
  • ajax中文乱码问题解决方案

    ajax中文乱码问题解决方案

    ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,接下来为大家详细介绍下如何解决这类问题
    2013-04-04
  • 用Ajax来控制书签和回退按钮的代码

    用Ajax来控制书签和回退按钮的代码

    用Ajax来控制书签和回退按钮的代码
    2007-01-01
  • Ajax实现步骤和原理解析

    Ajax实现步骤和原理解析

    Ajax是一种用于创建快速动态网页的技术,Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化,这篇文章主要介绍了Ajax实现步骤和原理,需要的朋友可以参考下
    2023-11-11

最新评论