好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 建一個XMLHttpRequest對象池

建一個XMLHttpRequest對象池

熱門標簽:遼寧銀行智能外呼系統 澳大利亞城市地圖標注 上海浦東騰訊地圖標注位置 電銷機器人違法了嗎 姜堰電銷機器人 海南銀行智能外呼系統商家 遼寧正規電銷機器人 許昌智能電銷機器人公司 辰溪地圖標注
作者:legend
出處:http://www.ugia.cn/?p=85
在ajax應用中,通常一個頁面要同時發送多個請求,如果只有一個XMLHttpRequest對象,前面的請求還未完成,后面的就會把前面的覆蓋掉,如果每次都創建一個新的XMLHttpRequest對象,也會造成浪費。解決的辦法就是創建一個XMLHttpRequset的對象池,如果池里有空閑的對象,則使用此對象,否則將創建一個新的對象。
下面是我最近寫的一個簡單的類:
復制代碼 代碼如下:

/**
* XMLHttpRequest Object Pool
*
* @author    legend legendsky@hotmail.com>
* @link      http://www.ugia.cn/?p=85
* @Copyright www.ugia.cn
*/ 

var XMLHttp = {
    _objPool: [],

    _getInstance: function ()
    {
        for (var i = 0; i  this._objPool.length; i ++)
        {
            if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4)
            {
                return this._objPool[i];
            }
        }

        // IE5中不支持push方法
        this._objPool[this._objPool.length] = this._createObj();

        return this._objPool[this._objPool.length - 1];
    },

    _createObj: function ()
    {
        if (window.XMLHttpRequest)
        {
            var objXMLHttp = new XMLHttpRequest();

        }
        else
        {
            var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
            for(var n = 0; n  MSXML.length; n ++)
            {
                try
                {
                    var objXMLHttp = new ActiveXObject(MSXML[n]);
                    break;
                }
                catch(e)
                {
                }
            }
         }          

        // mozilla某些版本沒有readyState屬性
        if (objXMLHttp.readyState == null)
        {
            objXMLHttp.readyState = 0;

            objXMLHttp.addEventListener("load", function ()
                {
                    objXMLHttp.readyState = 4;

                    if (typeof objXMLHttp.onreadystatechange == "function")
                    {
                        objXMLHttp.onreadystatechange();
                    }
                },  false);
        }

        return objXMLHttp;
    },

    // 發送請求(方法[post,get], 地址, 數據, 回調函數)
    sendReq: function (method, url, data, callback)
    {
        var objXMLHttp = this._getInstance();

        with(objXMLHttp)
        {
            try
            {
                // 加隨機數防止緩存
                if (url.indexOf("?") > 0)
                {
                    url += "randnum=" + Math.random();
                }
                else
                {
                    url += "?randnum=" + Math.random();
                }

                open(method, url, true);

                // 設定請求編碼方式
                setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
                send(data);
                onreadystatechange = function ()
                {
                    if (objXMLHttp.readyState == 4  (objXMLHttp.status == 200 || objXMLHttp.status == 304))
                    {
                        callback(objXMLHttp);
                    }
                }
            }
            catch(e)
            {
                alert(e);
            }
        }
    }
};  


示例: 
復制代碼 代碼如下:

script type="text/javascript" src="xmlhttp.js">/script>
script type="text/javascript">
function test(obj)
{
    alert(obj.statusText);
}

XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);
XMLHttp.sendReq('GET', 'http://www.ugia.cn/wp-data/test.htm', '', test);

alert('Pool length:' + XMLHttp._objPool.length);
/script>  
您可能感興趣的文章:
  • CocosCreator如何實現劃過的位置顯示紋理
  • 整理CocosCreator常用知識點
  • 全面講解CocosCreator熱更新
  • CocosCreator經典入門項目之flappybird
  • CocosCreator通用框架設計之網絡
  • 如何用CocosCreator實現射擊小游戲
  • Java基于Semaphore構建阻塞對象池
  • 深度剖析C++對象池自動回收技術實現
  • java設計模式之實現對象池模式示例分享
  • 如何使用CocosCreator對象池

標簽:伊春 銅川 撫州 崇左 威海 晉城 深圳 西藏

巨人網絡通訊聲明:本文標題《建一個XMLHttpRequest對象池》,本文關鍵詞  建,一個,XMLHttpRequest,對象,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《建一個XMLHttpRequest對象池》相關的同類信息!
  • 本頁收集關于建一個XMLHttpRequest對象池的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: av人妻丝袜熟女乱| 亚洲欧美在线免费| 日韩高清成人| 美女又爽?又黄?又污| 精品AV无码一区二区三区视频 | 成 人 黄 色 小说网站 s色| 小奶头流奶水(H)| 黄色都市小说| 肉屋十八里禁全本免费阅读| 欧美精品第12页| 杨玉环风流艳史免费观看| 欧美rapper瓶子| 国产精品天干天干在线综合| 久久久精品欧美一区二区三区拳交 | www.嫩草免费在线观看| 欧美伊人久久大香线蕉综合69| 亚洲精品a人在线观看| 公车揉捏h| 97精品视频| 做运动的男女| 8050午夜无码一区二区三区 | 欧洲一级黄色片| 最美情侣韩剧国语观看| 中文字幕无码亚洲字幕成人A刘婷| 国模杨依销魂人体大尺度写真| 情y超市| 国产无遮挡又黄又爽免费网站 | 三级很黄很黄的视频| 一级毛片一| 日本中文字幕乱理伦片| 成人性生交大片免费看A片狼牙| 色欲av人妻精品一区二区电影蜜桃 | 色噜噜在线| 小柔在公厕被灌满jing液免费看| 看全色黄大色黄大片女图片第一次| 杨幂太大了受不了了| 啦啦啦完整视频在线观看5| 欧美 亚洲 武侠 另类 动漫| 免费福利大尺度视频| 91看片片| 中国黄色一级|