澳门新葡萄京娱乐场ajax检测用户名

div id=btest/divscriptfunction createAjax(卡塔尔国 {
//该函数将回来XMLHTTP对象实例 var _xmlhttp; try { _xml
ActiveXObject(Microsoft.XMLHTTP卡塔尔国; //IE的始建方式 } catch (e卡塔尔 { try {
_xml XMLHttpRequest(卡塔尔; //FF等浏览器的创始格局 } catch (e卡塔尔 { _xml;
//假诺创立失利,将再次来到false } } return _xmlhttp; //再次来到xmlhttp对象实例
} var exitdos
=createAjax(卡塔尔(قطر‎;alert(exitdos卡塔尔(قطر‎exitdos.open(GET,,trueState of Qatar;exitdos.onreadystatechange=
function(卡塔尔 {if (exitdos.readyState == 1卡塔尔(قطر‎{document.getElementById(bState of Qatar.innerHTML=check…}if(exitdos.readyState==4卡塔尔{//(
== 200卡塔尔国 alert(exitdos.status)alert(exitdos.responseTextState of Qatar;}}exitdos.send(null卡塔尔国;/script

在ajax应用中,经常二个页面要同一时间发送四个央求,假若独有一个XMLHttpRequest对象,后边的乞请还没有形成,前边的就能够把前面包车型客车遮掩掉,假使老是都创制多个新的XMLHttpRequest对象,也会以致浪费。化解的点子正是创制一个XMLHttpRequset的对象池,倘若池里有空暇的对象,则接收此指标,不然将创制叁个新的目的。

下边是自个儿方今写的三个简易的类:
* XMLHttpRequest Object Pool
 *
 * @author    legend <legendsky@hotmail.com>
 * @link      
 * @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], 地址, 数据, 回调函数State of Qatar
    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’, ”, ”, test);
XMLHttp.sendReq(‘GET’, ”, ”, test);
XMLHttp.sendReq(‘GET’, ”, ”, test);
XMLHttp.sendReq(‘GET’, ”, ”, test);

alert(‘Pool length:’ + XMLHttp._objPool.length);
</script> 

demo
下载xmlhttp.js

您可能感兴趣的篇章:

  • JQuery的ajax获取数据后的拍卖总括(html,xml,json卡塔尔(قطر‎
  • AJAX使用post发送数据xml格式选拔多少
  • 用Ajax读取xml文件的精练例子
  • Jquery Ajax学习实例
    向页面发出央求,再次回到XML格式数据
  • 经过XMLHttpRequest和jQuery达成ajax的二种办法
  • JS通过ajax动态读取xml文件内容的点子
  • AJAX
    常用函数创造XMLHTTP对象,分化IE,Mozilla浏览器
  • javascript解析ajax重回的xml和json格式数据实例详细解释
  • firefox下jquery ajax重回object
    XMLDocument管理办法
  • 用Ajax读取XML格式的数额
  • AJAX+JSP落成读取XML内容并按排列突显输出的章程现身说法

发表评论

电子邮件地址不会被公开。 必填项已用*标注