|  | /**
 * 
 * @version        $Id: dedeajax.js 1 22:28 2010年7月20日Z tianya $
 * @package        DedeBIZ.Administrator
 * @copyright      Copyright (c) 2020, DedeBIZ.COM
 * @license        https://www.dedebiz.com/license
 * @link           https://www.dedebiz.com
 */
//xmlhttp和xmldom对象
DedeXHTTP = null;
DedeXDOM = null;
DedeContainer = null;
//获取指定ID的元素
function $(eid) {
  return document.getElementById(eid);
}
function $DE(id) {
  return document.getElementById(id);
}
//参数 gcontainer 是保存下载完成的内容的容器
function DedeAjax(gcontainer) {
  DedeContainer = gcontainer;
  //post或get发送数据的键值对
  this.keys = Array();
  this.values = Array();
  this.keyCount = -1;
  //http请求头
  this.rkeys = Array();
  this.rvalues = Array();
  this.rkeyCount = -1;
  //请求头类型
  this.rtype = 'text';
  //初始化xmlhttp
  if (window.ActiveXObject) {//IE6、IE5
    try { DedeXHTTP = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
    if (DedeXHTTP == null) try { DedeXHTTP = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
  }
  else {
    DedeXHTTP = new XMLHttpRequest();
  }
  DedeXHTTP.onreadystatechange = function () {
    if (DedeXHTTP.readyState == 4) {
      if (DedeXHTTP.status == 200) {
        DedeContainer.innerHTML = DedeXHTTP.responseText;
        DedeXHTTP = null;
      } else DedeContainer.innerHTML = "下载数据失败";
    } else DedeContainer.innerHTML = "正在下载数据...";
  };
  //增加一个POST或GET键值对
  this.AddKey = function (skey, svalue) {
    this.keyCount++;
    this.keys[this.keyCount] = skey;
    this.values[this.keyCount] = escape(svalue);
  };
  //增加一个Http请求头键值对
  this.AddHead = function (skey, svalue) {
    this.rkeyCount++;
    this.rkeys[this.rkeyCount] = skey;
    this.rvalues[this.rkeyCount] = svalue;
  };
  //清除当前对象的哈希表参数
  this.ClearSet = function () {
    this.keyCount = -1;
    this.keys = Array();
    this.values = Array();
    this.rkeyCount = -1;
    this.rkeys = Array();
    this.rvalues = Array();
  };
  //发送http请求头
  this.SendHead = function () {
    if (this.rkeyCount != -1) { //发送用户自行设定的请求头
      for (; i <= this.rkeyCount; i++) {
        DedeXHTTP.setRequestHeader(this.rkeys[i], this.rvalues[i]);
      }
    }
    if (this.rtype == 'binary') {
      DedeXHTTP.setRequestHeader("Content-Type", "multipart/form-data");
    } else {
      DedeXHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    }
  };
  //用Post方式发送数据
  this.SendPost = function (purl) {
    var pdata = "";
    var i = 0;
    this.state = 0;
    DedeXHTTP.open("POST", purl, true);
    this.SendHead();
    if (this.keyCount != -1) { //post数据
      for (; i <= this.keyCount; i++) {
        if (pdata == "") pdata = this.keys[i] + '=' + this.values[i];
        else pdata += "&" + this.keys[i] + '=' + this.values[i];
      }
    }
    DedeXHTTP.send(pdata);
  };
  //用GET方式发送数据
  this.SendGet = function (purl) {
    var gkey = "";
    var i = 0;
    this.state = 0;
    if (this.keyCount != -1) { //get参数
      for (; i <= this.keyCount; i++) {
        if (gkey == "") gkey = this.keys[i] + '=' + this.values[i];
        else gkey += "&" + this.keys[i] + '=' + this.values[i];
      }
      if (purl.indexOf('?') == -1) purl = purl + '?' + gkey;
      else purl = purl + '&' + gkey;
    }
    DedeXHTTP.open("GET", purl, true);
    this.SendHead();
    DedeXHTTP.send(null);
  };
} // End Class DedeAjax
//初始化xmldom
function InitXDom() {
  if (DedeXDOM != null) return;
  var obj = null;
  if (typeof (DOMParser) != "undefined") { // Gecko、Mozilla、Firefox
    var parser = new DOMParser();
    obj = parser.parseFromString(xmlText, "text/xml");
  } else { // IE
    try { obj = new ActiveXObject("MSXML2.DOMDocument"); } catch (e) { }
    if (obj == null) try { obj = new ActiveXObject("Microsoft.XMLDOM"); } catch (e) { }
  }
  DedeXDOM = obj;
};
 |