• ajax_XmlHttp lcs


    function $(e) {
    var tag = document.getElementById(e);
    if(tag) return tag;
    tag = document.getElementsByName(e);
    if(tag.tagName == undefined) return null;
    return tag;
    }
    function CreaeXMLDOM()
    {
    var MSDOM = ['MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument.2.6', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM'];
    var XMLDOM;
    for(var n = 0; n < MSDOM.length; n++)
    {
    try
    {
    XMLDOM = new ActiveXObject(MSDOM[n]);
    break;
    }
    catch(e)
    {
    }
    }
    if(typeof(XMLDOM) != "object")
    XMLDOM = document.implementation.createDocument("text/xml", "", null);
    if(typeof(XMLDOM) != "object")
    alert('创建XMLDOM对象失败,请升级您的浏览器');
    return XMLDOM;
    }

    function GetXmlNodeValue(objXmlElement)
    {
    var str = "";
    if(window.XMLHttpRequest)        //Mozilla
    {
    try
    {
    str = objXmlElement.firstChild.nodeValue;
    }
    catch(ex)
    {
    alert(ex);
    str = "";
    }
    }
    else if(window.ActiveXObject)    //IE
    {
    str = objXmlElement.text;
    }
    return str;
    }
    var Request = new function(){
    this.pool = new Array();
    //建立XMLHttp对像,并处理通道
    this.getXMLHttp = function (chunnel)
    {
    if(chunnel != null)
    {
    for (var a = 0; a < this.pool.length; a++)
    {
    if(this.pool[a]["chunnel"] == chunnel)
    {
    if(this.pool[a]["obj"].readyState == 0 || this.pool[a]["obj"].readyState == 4)
    {
    return this.pool[a]["obj"];
    }
    else
    {
    return "busy";
    }
    }
    }
    this.pool[this.pool.length] = new Array();
    this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
    this.pool[this.pool.length - 1]["chunnel"] = chunnel;
    return this.pool[this.pool.length - 1]["obj"];

    for (var i = 0; i < this.pool.length; i++)
    {
    if (this.pool[i]["obj"].readyState == 0 || this.pool[i]["obj"].readyState == 4)
    {
    return this.pool[i]["obj"];
    }
    }
    this.pool[this.pool.length] = new Array();
    this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
    this.pool[this.pool.length - 1]["chunnel"] = "";
    return this.pool[this.pool.length - 1]["obj"];
    }
    this.createXMLHttp = function ()
    {
    if(window.XMLHttpRequest)
    {
    var xmlObj = new XMLHttpRequest();
    }
    else
    {
    var MSXML = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
    for(var n = 0; n < MSXML.length; n++)
    {
    try
    {
    var xmlObj = new ActiveXObject(MSXML[n]);       
    break;
    }
    catch(e)
    {
    }
    }
    }
    return xmlObj;
    }
    //主运行部分  IsAsynchronous是否为异步方式  异步:后面的代码无需等待此回调执行完毕   同步:等待XmlHttp返回结果后再继续执行
    this.SendToPage = function (url,data,callback,IsAsynchronous,chunnel)
    {
    var objXMLHttp = this.getXMLHttp(chunnel)
    //创建XMLHTTP对象失败
    if(typeof(objXMLHttp) != "object")
    {
    if (objXMLHttp == 'busy')
    {
    alert('您的上次操作还没有完成,请稍候再进行此操作');
    }
    else
    {
    alert('请升级您的浏览器');
    }
    return ;
    }
    //解决XMLHTTP请求时浏览器缓存的问题
    url += (url.indexOf("?") >= 0) ? "&nowtime=" + new Date().getTime() : "?nowtime=" + new Date().getTime();
    if(data == "")
    {
    objXMLHttp.open('GET' , url, IsAsynchronous);
    objXMLHttp.send('');
    }
    else
    {
    objXMLHttp.open('POST' , url, IsAsynchronous);
    //为Post时,需要设置一下XMLHTTP的头
    objXMLHttp.setRequestHeader("Content-Length",data.length);
    objXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
    objXMLHttp.send(data);
    }
    //处理回调函数
    if(typeof(callback) == "function" )
    {
    if (IsAsynchronous)
    {
    objXMLHttp.onreadystatechange = function ()
    {
    if (objXMLHttp.readyState == 4)
    {
    if(objXMLHttp.status == 200 || objXMLHttp.status == 304)
    {
    callback(objXMLHttp,'');
    }
    else
    {
    alert("发生错误:\n"+ objXMLHttp.status +":"+ objXMLHttp.statusText);
    callback(null,'发生错误:' + objXMLHttp.status +":"+ objXMLHttp.statusText);
    }
    }
    }
    }
    else
    {
    if (objXMLHttp.readyState == 4)
    {
    if(objXMLHttp.status == 200 || objXMLHttp.status == 304)
    {
    callback(objXMLHttp,'');
    }
    else
    {
    alert("发生错误:\n"+ objXMLHttp.status +":"+ objXMLHttp.statusText);
    callback(null,'发生错误:' + objXMLHttp.status +":"+ objXMLHttp.statusText);
    }
    }
    }
    }
    }
    }
    var DateTime = new function ()
    {
    var d = new Date();
    var s;
    s = d.getYear() + '-';
    s += (d.getMonth() + 1) + "-";
    s += d.getDate();
    this.Now = s;
    }
    /*--------------------------IE  FireFox 兼容------------------------*/
    //innerText
    if(typeof HTMLElement!="undefined"){
    HTMLElement.prototype.innerText
    getter = function(){
    return this.textContent;
    }

    HTMLElement.prototype.innerText
    setter = function(txtStr){
    this.textContent = txtStr
    }
    }

  • 相关阅读:
    HDU 5273 Dylans loves sequence 暴力递推
    HDU 5285 wyh2000 and pupil 判二分图+贪心
    HDU 5281 Senior's Gun 贪心
    HDU 5651 xiaoxin juju needs help 逆元
    HDU 5646 DZY Loves Partition
    HDU 5366 The mook jong
    HDU 5391Z ball in Tina Town 数论
    HDU 5418 Victor and World 允许多次经过的TSP
    HDU 5642 King's Order dp
    抽屉原理
  • 原文地址:https://www.cnblogs.com/luchaoshuai/p/1153118.html
Copyright © 2020-2023  润新知