一个AJAX类代码

 更新时间:2010年01月17日 21:31:09   作者:  
以前写的一个AJAX类,兼容性还不错,简单易用,记下了方便以后找 :)
基本用法:
复制代码 代码如下:

var ajax = new AjaxObj(url);
ajax.addListener(200, function(r){
alert(r);
});
ajax.send();

也可以连续调用:
复制代码 代码如下:

var ajax = new AjaxObj(url).addListener(200, function(r){
alert(r);
}).send();

另外还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码,自己看代码琢磨吧 :)
完整代码:
复制代码 代码如下:

AjaxObj = function(url, method, content){
    this.r = null;
    this.url = url;
    this.method = method;
    this.content = content;
    this.header = {};
    this.header["Connection"] = "close";
    this.header["Content-type"] = "application/x-www-form-urlencoded";
    var self = this;
    if(window.XMLHttpRequest){
        this.r = new XMLHttpRequest();
    }else if(window.ActiveXObject){
        try {
            this.r = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try{
                this.r = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
            }
        }
    }
    this.addListener = function(http_status, func){
        if(!this.L)
            this.L=[];
        this.L[http_status] = func;
        return this;
    };
    this.setHeader = function(name, value){
        this.header[name] = value;
        this.r.setRequestHeader(name, value);
        return this;
    };
    this.send = function(){
        if(this.method != "post" && this.method != "get")
            this.method = "get";
        this.r.open(this.method, this.url, true);
        for(var h in this.header) {
            this.r.setRequestHeader(h, this.header[h]);
        }
        this.r.send(this.content);
    };
    if(this.r) this.r.onreadystatechange = function(){
        if(self.r.readyState == 4 && self.L[self.r.status] != null)
            self.L[self.r.status](self.r.responseText);
    };
};

相关文章

  • Ajax跨域问题及解决方案(jsonp,cors)

    Ajax跨域问题及解决方案(jsonp,cors)

    远程服务器上设法动态的把数据装进js格式的文本代码段中,供客户端调用和进一步处理。这篇文章主要介绍了ajax跨域问题解决方案(jsonp,cors) ,需要的朋友可以参考下
    2019-06-06
  • 分享Ajax创建简单实例代码

    分享Ajax创建简单实例代码

    这篇文章主要为大家分享了Ajax创建简单实例代码,学习Ajax如何创建简单实例,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • AJAX+Servlet实现的数据处理显示功能示例

    AJAX+Servlet实现的数据处理显示功能示例

    这篇文章主要介绍了AJAX+Servlet实现的数据处理显示功能,结合实例形式分析了前台ajax与后台Servlet生成随机数显示的相关交互操作技巧,需要的朋友可以参考下
    2018-06-06
  • ajax和fetch的区别点总结

    ajax和fetch的区别点总结

    在本篇文章里小编给大家整理了一篇关于ajax和fetch的区别点总结内容,对此有兴趣的朋友们可以跟着学习下。
    2021-12-12
  • 空格或者空白字符导致$.ajax()报parseerror错误小结

    空格或者空白字符导致$.ajax()报parseerror错误小结

    这篇文章主要介绍了空格或者空白字符导致$.ajax()报parseerror错误,需要的朋友可以参考下
    2014-04-04
  • ajax浏览器兼容的问题探讨

    ajax浏览器兼容的问题探讨

    ajax浏览器兼容的问题一直都是同学们多烦恼的,下面有个不错的示例大家可以参考下,希望对大家有所帮助
    2014-01-01
  • Ajax如何传输Json和xml数据

    Ajax如何传输Json和xml数据

    这篇文章主要为大家详细介绍了Ajax如何传输Json和xml数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • JQuery Ajax动态生成Table表格

    JQuery Ajax动态生成Table表格

    实现过程是这样的:前台通过jquery的ajax调用一般处理程序(Handler),获取表格需要显示的信息,然后转换成json格式返回给前台,前台获取到数据后循环构建表格的行,最好把行附加到表里。感兴趣的朋友一起看看吧
    2015-09-09
  • ajax翻页效果模仿yii框架自己写的

    ajax翻页效果模仿yii框架自己写的

    这篇文章主要介绍了自己写的ajax翻页效果,模仿yii框架,需要的朋友可以参考下
    2014-03-03
  • Ajax传递中文参数到后台乱码的有效解决方法

    Ajax传递中文参数到后台乱码的有效解决方法

    使用Ajax传递中文参数,如果不对参数进行处理的话,传到后台会变成乱码,解决方法很简单,需要的朋友可以参考下本文
    2014-05-05

最新评论