一个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);
    };
};

(0)

相关推荐

  • 一个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状态码,自己看代码琢

  • 基于Java创建一个订单类代码实例

    这篇文章主要介绍了基于Java创建一个订单类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求描述 定义一个类,描述订单信息 订单id 订单所属用户(用户对象) 订单所包含的商品(不定数量个商品对象) 订单总金额 订单应付金额: 总金额500~1000,打折85折 总金额1000~1500,打折80折 总金额1500~2000,打折70折 总金额超过2000,打折65折 在此基础上,还要看用户的vip等级 用户vip等级为:一般会员,

  • 好用的AJAX类代码分享

    ajax.js -------------------------[ajax类]-------------------------- 复制代码 代码如下: function Ajax(recvType){ var aj=new Object(); aj.recvType=recvType ? recvType.toUpperCase() : 'HTML'; //向形参中传递的文件类型 aj.targetUrl=''; aj.sendString=''; aj.resultHandle=null;

  • Java虚拟机装载和初始化一个class类代码解析

    在 java 应用程序开发中,只有被 java 虚拟机装载的 Class 类型才能在程序中使用.只要生成的字节码符合 java 虚拟机的指令集和文件格式,就可以在 JVM 上运行,这为 java 的跨平台性提供条件.下面,我们来看看虚拟机是如何装载和初始化一个 class 类的. 装载一个类 学习过C/C++语言的读者知道,C/C++源代码必须首先别编译成本地的机器代码,然后还需要一个链接代码过程.该链接过程的主要任务就是:合并不同的源码文件产出的中间代码,并最终获得一个可直接执行的应用程序.然

  • 一个Ajax类

    程序代码:<script type="text/javascript">function Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc) {this.Url = sUrl;this.QueryString = sQueryString;this.XmlHttp = this.createXMLHttpRequest();if (this.XmlHttp == null) {alert("erro");return

  • 也写一个Ajax.Request类附代码

    目的:因为blog程序里的某些模块需要用到ajax,直接使用prototype.js体积比较大(40多k),而且仅仅用到其中的ajax功能,因此为了减轻下载的负担,又不能改动已经在prototype.js框架下写好的代码,只能是按照prototype的风格,自己写一个ajax类,达到零成本移植框架. 新的ajax类如下: var Ajax = {xmlhttp:function(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(

  • 原生Javascript封装的一个AJAX函数分享

    最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的--但他又是基于jquery的ajax,所以离开了jquery这个函数就毫无作用了.而且我觉得,jquery的ajax方法是很完善的了,可以直接用,如果都有jquery了,那么他的ajax就不用白不用了.我缺少的是一个能在没有jquery的情况下使用的ajax方法. 所以我也花一天时间写了一个,参数与调用方法类似于jquery的ajax.就叫xhr吧,因为xhr=XMLHttpRequ

  • VB实现的倒计时类代码详解

    本文所述为用VB制作倒计时程序用到的一个Module类代码,是基于控制台的倒计时程序,可供VB初学者或者VB爱好者参考学习,当然读者也可以将其拷贝代码到VB工程里面直接使用,不过需要自己创建相关的代码,对于初学者来说,也是很容易看懂的一段代码. 具体功能代码如下: Module Module1 Sub Main() Dim a As Date Dim h, m, s As Integer Dim n, i As Long Dim x, z As Long Dim y As Long Consol

  • 一个简单至极的PHP缓存类代码

    网上关于 PHP 缓存类的资料很多,不过这个类应该是我见过功能满足需求,但又无比简洁的一个.废话不多说,直接看代码吧! 使用说明: 1.实例化 $cache = new Cache(); 2.设置缓存时间和缓存目录 $cache = new Cache(60, '/any_other_path/'); 第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置. 默认情况下,缓存时间是 3600 秒,缓存目录是 cache/ 3.读取缓存 $value = $cache->get('data_ke

  • 用JS写的一个Ajax库(实例代码)

    myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ <span style="white-space:pre"> </span>data: {}, //参数 url: "", //请求地址 //发生错误是调用 error: function(data) { }, //请求成功调用 success: function(data){ <

随机推荐