佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 一個(gè)簡單的AJAX請求類

一個(gè)簡單的AJAX請求類

熱門標(biāo)簽:阿里云 服務(wù)器配置 銀行業(yè)務(wù) 科大訊飛語音識別系統(tǒng) Linux服務(wù)器 Mysql連接數(shù)設(shè)置 電子圍欄 團(tuán)購網(wǎng)站
在給blog加上無刷新搜索和即時(shí)驗(yàn)證檢測后,又看了下代碼,感覺太過麻煩,就把XMLHttpRequest請求封裝到一個(gè)類里面,用起來方便多了,不用記那么多代碼,什么創(chuàng)建XMLHttpRequest對象什么的,這部分代碼也是重用性比較高的~已經(jīng)打包,在日志的末尾下載。

要看效果的話點(diǎn)開側(cè)邊欄里的日志搜索,里面有一個(gè)無刷新搜索,就是了,或者在閱讀日志或留言簿里的注冊碼那里有即時(shí)檢測,如果不輸入驗(yàn)證碼或者輸錯(cuò)了驗(yàn)證碼,輸入框都會變紅的^_^

類名:AJAXRequest

創(chuàng)建方法:var ajaxobj=new AJAXRequest;,如果創(chuàng)建失敗則返回false

屬性:method  -  請求方法,字符串,POST或者GET,默認(rèn)為POST

   url         -  請求URL,字符串,默認(rèn)為空

   async     -  是否異步,true為異步,false為同步,默認(rèn)為true

   content -  請求的內(nèi)容,如果請求方法為POST需要設(shè)定此屬性,默認(rèn)為空

   callback  - 回調(diào)函數(shù),即返回響應(yīng)內(nèi)容時(shí)調(diào)用的函數(shù),默認(rèn)為直接返回,回調(diào)函數(shù)有一個(gè)參數(shù)為XMLHttpRequest對象,即定義回調(diào)函數(shù)時(shí)要這樣:function mycallback(xmlobj)

方法:send     -  發(fā)送請求,無參數(shù)

一個(gè)例子:
復(fù)制代碼 代碼如下:

script type="text/javascript" src="ajaxrequest.js">/script>
script type="text/javascript">
var ajaxobj=new AJAXRequest;    // 創(chuàng)建AJAX對象
ajaxobj.method="GET";   // 設(shè)置請求方式為GET
ajaxobj.url="default.asp"  // URL為default.asp
// 設(shè)置回調(diào)函數(shù),輸出響應(yīng)內(nèi)容
ajaxobj.callback=function(xmlobj) {
     document.write(xmlobj.responseText);
}
ajaxobj.send();    // 發(fā)送請求

復(fù)制代碼 代碼如下:

// 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);
    }
}

標(biāo)簽:棗莊 萍鄉(xiāng) 大理 江蘇 廣元 衡水 衢州 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)簡單的AJAX請求類》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 上一篇:AJAXRequest v0.2

    下一篇:一個(gè)Ajax類

    收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    卓资县| 深水埗区| 新泰市| 马公市| 金溪县| 万荣县| 安塞县| 纳雍县| 余干县| 延庆县| 麻栗坡县| 醴陵市| 张北县| 彭州市| 循化| 桃园市| 佛冈县| 前郭尔| 漳平市| 丹棱县| 若羌县| 乌审旗| 金溪县| 濮阳市| 天长市| 东阿县| 汤阴县| 肥东县| 东乌珠穆沁旗| 民县| 丹凤县| 南岸区| 东丽区| 于田县| 台前县| 滦南县| 垫江县| 阳西县| 泰和县| 荃湾区| 潼关县|