一个简单的AJAX请求类

蓝色火焰最厉害

蓝色火焰最厉害

2016-02-19 12:59

今天图老师小编要跟大家分享一个简单的AJAX请求类,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!
在给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);
    }
}
展开更多 50%)
分享

猜你喜欢

一个简单的AJAX请求类

Web开发
一个简单的AJAX请求类

一个Ajax类

Web开发
一个Ajax类

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个AJAX类代码

Web开发
一个AJAX类代码

AJAX请求类

Web开发
AJAX请求类

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个封装的Ajax类

Web开发
一个封装的Ajax类

一个方便AJAX开发的通用类

Web开发
一个方便AJAX开发的通用类

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用Windows的文件映射机制实现大批量数据的快速存储

用Windows的文件映射机制实现大批量数据的快速存储

PHP Ajax实现页面无刷新发表评论

PHP Ajax实现页面无刷新发表评论
下拉加载更多内容 ↓